cocoa - 澄清NSNotificationCenter的确切功能

标签 cocoa nsnotificationcenter nsnotifications

我仍在学习 ObjC,我只是想确保我完全理解 NSNotification 的概念:完全:

[NSNotificationCenter defaultCenter] 是一个固定对象,不是发送者接收者。它只是路由一个NSNotification,但形状或形式绝不会处理该事件(默认情况下)。

正确吗?

理论:
这是否允许AppDelegate推送通知到defaultCenter并在响应者链/显示列表中拥有更多内容(例如 >UITableViewCell)接受该操作?

最佳答案

正是如此。 NSNotificationCenter 只是通知的交换所。它跟踪观察每个通知的所有对象,以便在发布通知时,可以将其路由到所有正确的观察者。

是的,您的 AppDelegate 没有理由不能发布由 UITableViewCell 之类的东西拾取的通知。 NSNotifications 非常适合这样的情况:一个对象必须向其他对象发送数据,或者告诉它们发生了某些事情,而您直到运行时才知道接收者应该是什么。

关于cocoa - 澄清NSNotificationCenter的确切功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9894334/

相关文章:

cocoa - 如何将 NSAttributedString 中的字符大小写更改为大写

objective-c - NSNotification 上的对象是否需要强制转换?

iphone - NSNotification addObserver :? 中的参数 `object` 是什么

ios - UIApplicationDidBecomeActiveNotification 过滤器通知

iphone - 在 NSNotificationCenter 上放置断点

ios - 我应该为远程应用程序使用哪种观察者模式?

ios - iOS 键盘扩展和包含应用程序之间的 NSUserDefaults 发布更改?

cocoa - 使用cocoa打印doc文件

cocoa - 设置自定义长度和宽度 NSWindow

cocoa - CoreAnimation 不适用于 QTMovieView 上的 -setAlphaValue