何时观察/取消观察事件

时间:2013-01-05 18:50:00

标签: objective-c ios events notifications

我目前正在使用基于UINavigationController的流程:

Events +-> Event Input
       |
       +-> People -> People Input

基于事件和人员的模型会在集合更改时触发通知。我正联系viewWillAppear:animated:中的观察者并在viewWillDisappear中取消他们。这一切看起来都很好,但我真正想要的是当我从事件转换到人们并且保持联系直到我转换回事件时,人们的观察者会被连接起来。这样,即使People Input隐藏了People,也会处理通知,以便我可以更新我的列表。

注意:我没有使用segues。

连接观察者并解开观察者的最佳位置在哪里?

2 个答案:

答案 0 :(得分:0)

然后你可以将viewDidLoad的时间范围扩大到观察到dealloc以便不进行观察。然后,您可以在视图实际存在的唯一条件下更新您的内容。

答案 1 :(得分:0)

我选择解决此问题的方法是将当前控制器与navigationController的{​​{1}}集合进行比较。如果它不包含在此集合中,那么我知道该视图已弹出,我可以取消观察事件。我在viewController进行了此测试。