隔离到场景B的场景A如何知道用户何时完成场景B,并再次显示场景A?

时间:2014-07-05 06:40:55

标签: ios uinavigationcontroller segue

这应该很简单,但由于某种原因,我无法解决这个问题。

场景A,对场景B执行pushSegue。一切正常,用户单击场景B顶部的导航项,然后返回场景A.

如何通知A场景? (想法是,用户更改场景B中的一些参数,这意味着场景A必须重绘自己。)

我已经阅读了一些有关放松细分的信息,但我认为这不能解决我的问题,因为我猜导航控制器的机制,以及使用放松细分的两种方法,所以回去已经有效了。似乎很有用,因为我没有按钮将unwind segue方式连接到(只是在运行时包含Back按钮的导航项),我不需要以编程方式触发它。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

当B从堆栈弹出时,A将获得viewDid/WillAppear:次呼叫。理想情况下,B将更新一个独立的模型对象,因此它不必直接与A对话以让它知道。

如果您需要更具体的控制,请将A作为导航控制器的委托。然后,它将通过作为参数传递的实际视图控制器获得有关特定推送/弹出事件的信息。

你也可以在推送之前从A传递块到B,只要重要的事情发生就要执行,或者让A成为B的代表。