0

segue在故事板中创建了一些。它有一些标识符。我在方法中配置destinationViewController并分配了一些对象作为 this 的属性。这个对象也是我的控制器的属性,它调用了. 在我有,当我按下它时,我打电话给其他人,然后我回到以前的视图。当我在这个 viewController 中时,传递给这个对象的属性等于. 有可能做这样的事情吗?:destinationViewControllerprepareForSegue:sender:seguedestinationViewControllerBarButtonItemseguedestinationViewControllernil

  1. 当我在SourceViewController其中时,someProperty我设置了DestinationViewController.
  2. 当我从DestinationViewController我的财产回来时, somePropertyin SourceViewControlleris not null - 它应该与切换 viewController 之前相同。

这是可能的?

现在我必须从 to 传递someObjectAB我切换视图时,我必须someObjectBto传递A——同一个对象。

感谢您的回复和帮助。

4

2 回答 2

2

当您返回另一个视图时,尽量不要使用另一个 segue。无论是使用导航控制器还是在模式中,您都应该能够关闭当前视图。至于您需要相同的对象,请在将控制器 A 传递给控制器​​ B 时保留对控制器 A 中对象的引用。两个控制器都将引用同一个对象,因此在控制器 B 中对其进行更改将显示在您的对象中自动参考控制器 A。

于 2013-02-02T14:11:20.253 回答
1

您真的不应该这样做,原因是当您返回 SourceViewController 时,它实际上会创建一个新的 VC 并将其推送到堆栈上,因此您的堆栈最终会变成“SourceVC、DetailVC、SourceVC”,这可能不是您想要的!您可能希望您的导航控制器弹出 DetailVC ([ self.navigationController dismissViewControllerAnimated:YES])

至于房产。这取决于属性是什么以及您是否拥有更多属性,但根据 MVC 模式,您很有可能实际上想要创建一个模型类来为您处理此变量。然后,当您推送到 DetailVC 时,您将传递对模型的引用,并且 DetailVC 可以通过模型访问该变量(获取或设置),然后当您弹回 SourceVC 时,它可以使用对模型的引用,它已经有检索新设置的属性。

于 2013-02-02T14:21:05.037 回答