我仍在学习 ObjC,我只是想确保我完全理解 NSNotification
的概念:完全:
[NSNotificationCenter defaultCenter]
是一个固定对象,不是发送者或接收者。它只是路由一个NSNotification
,但形状或形式绝不会处理该事件(默认情况下)。
正确吗?
理论:
这是否允许AppDelegate
推送通知到defaultCenter
并在响应者链/显示列表中拥有更多内容(例如 >UITableViewCell
)接受该操作?
最佳答案
正是如此。 NSNotificationCenter
只是通知的交换所。它跟踪观察每个通知的所有对象,以便在发布通知时,可以将其路由到所有正确的观察者。
是的,您的 AppDelegate
没有理由不能发布由 UITableViewCell
之类的东西拾取的通知。 NSNotifications
非常适合这样的情况:一个对象必须向其他对象发送数据,或者告诉它们发生了某些事情,而您直到运行时才知道接收者应该是什么。
关于cocoa - 澄清NSNotificationCenter的确切功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9894334/