模型 - 控制器 - 通信

时间:2015-03-03 14:07:56

标签: ios macos cocoa cocoa-touch model-view-controller

我有一个包含大量项目的模型,并在修改项目时发送更新通知。在这种情况下,有两个视图控制器监听此修改通知,以便更新其状态/(表)视图。

问题是,如果一个控制器修改了一个项目,它也会收到更新通知并重新加载它的内容。但是我不希望立即更新进行更改的控制器,因为它会中断控制器执行的更改动画(因为它知道发生了什么变化)。

是否有一个很好的解决方案只接收未由特定控制器进行的更新?或者我完全走错了路?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以尝试两种不同的方法:

  • 第一个是使用可以添加到NSNotification对象的“对象”或“用户信息”信息,发送视图控制器指针并仅在对象或用户信息不同时才对通知做出反应对象响应通知。

  • 第二种方法是您可以在执行更改之前从NSNotificationCenter中删除视图控制器,然后再添加它。