模型 - 控制器 - 通信

Model - Controller - Communication

我有一个模型,它包含一堆项目并在项目被修改时发送更新通知。在这种情况下,有两个视图控制器侦听此修改通知以更新它们的状态/(table-)视图。

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

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

谢谢!

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

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

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