ios - 型号 - Controller - 通讯

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

我有一个模型,其中包含一堆项目并在修改项目时发送更新通知。在这种情况下,有两个 View Controller 正在监听此修改通知,以便更新它们的状态/(表) View 。

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

是否有一个好的解决方案来仅接收不是由特定 Controller 所做的更新?或者我完全走错了路?

谢谢!

最佳答案

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

  • 第一个是使用可以添加到 NSNotification 对象的“对象”或“用户信息”信息,发送 View Controller 指针并仅当对象或用户信息不同于对通知使用react的对象。

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

关于ios - 型号 - Controller - 通讯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28833872/

相关文章:

ios - 如何在 iphone 中将日期格式从 mm/dd/yyyy 更改为 yyyy/mm/dd?

ios - 为什么我从数据库中提取信息的函数不起作用?

swift - 验证后强制 cocoa 绑定(bind)更新(快速)

css - 表单字段概述

objective-c - 访问屏幕上所有应用程序窗口的 NSWindow.level

ios - 公理 : Authorization Bearer not sent on iOS

ios - 在 swift 4 中处理 JSON

python - 在 pip 和 pip3 中安装 psycopg2 时出现安装错误

swift - NSPopover 自动布局问题中的 NScrollView

cocoa - 如何显示从单独的 NIB 文件加载的 subview