gpt4 book ai didi

ios - prepareForSegue 正在通过对目标 View Controller 的引用传递值

转载 作者:行者123 更新时间:2023-11-29 10:59:51 25 4
gpt4 key购买 nike

我在我的一个应用程序中使用 Storyboard ,并且在 prepareForSegue 方法中将属性从 SourceViewController 传递到 DestinationViewController 时,传递的属性是通过引用传递的,而不是通过值传递的。这给我带来了一些麻烦,就像在 Destination View Controller 中一样,如果用户摆弄这些值并点击返回,那么我在我的 SourceViewController 中得到一个我不想要的更新值。

请参阅以下内容以获取有关该问题的更多信息

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{if([[segue identifier] isEqualToString:@"DestinationView"])
{
DestinationViewController *destinationViewController = [segue destinationViewController];
[destinationViewController setActivity:activity];
//Here the value of activity is passed by reference. I have verified the same by checking the address of activity variable in Variable pane of Xcode in Source and destination view controller
}

现在我不确定在上述情况下如何只传递值而不传递引用。

最佳答案

尝试使用它的副本

    [destinationViewController setActivity:[activity copy]];

如果需要,实现它的委托(delegate) copywithZone

- (id)copyWithZone:(NSZone *)zone

关于ios - prepareForSegue 正在通过对目标 View Controller 的引用传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16440154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com