Cocoa 澄清NSNotificationCenter的确切功能

Cocoa 澄清NSNotificationCenter的确切功能,cocoa,nsnotificationcenter,nsnotifications,Cocoa,Nsnotificationcenter,Nsnotifications,我仍在学习ObjC,我只是想确保我完全理解NSNotifications的概念: [NSNotificationCenter defaultCenter]是一个静止的物体,它不是发送者或接收者。它只发送一个NSNotification,但不会以任何方式、形状或表单处理事件(默认情况下) 对吗 理论: 这是否允许AppDelegate将通知推送到defaultCenter,并在响应者链/显示列表(例如,UITableViewCell)中进一步获取操作?正是如此NSNotificationCente

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

[NSNotificationCenter defaultCenter]
是一个静止的物体,它不是发送者或接收者。它只发送一个
NSNotification
,但不会以任何方式、形状或表单处理事件(默认情况下)

对吗

理论:

这是否允许
AppDelegate
将通知推送到
defaultCenter
,并在响应者链/显示列表(例如,
UITableViewCell
)中进一步获取操作?

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


是的,你的
AppDelegate
没有理由不能发布被
UITableViewCell
之类的东西拾取的通知<代码>通知对于对象必须向其他对象发送数据,或告诉他们发生了什么事情,并且直到运行时您才知道收件人应该是什么的情况非常有用。

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


是的,你的
AppDelegate
没有理由不能发布被
UITableViewCell
之类的东西拾取的通知
NSNotifications
非常适用于对象必须向其他对象发送数据,或告诉他们发生了什么事情,并且在运行时之前您不知道收件人应该是什么的情况。

+1对于@yuji的答案,只需谈几点术语即可defaultCenter不是“静止对象”(至少我不知道静止对象是什么)。它就像一个可以发布通知的全球钉板(每个应用程序)。响应者链参与处理UI事件/操作。它与通知无关。还有,我想他是说这是一个单身汉,事实就是这样。@RobKeniger-我知道他的意思,但这并不意味着你应该自己起名字。而且,不,它不是:)这很有趣,我一直认为它是。它确实是一个整体。更多信息?我认为@hooleyhoop指的是你可以用
alloc init
创建自己的通知中心,尽管在绝大多数用例中,人们只是用
defaultCenter
+1来获取@yuji的答案,只是术语上的几点而已defaultCenter不是“静止对象”(至少我不知道静止对象是什么)。它就像一个可以发布通知的全球钉板(每个应用程序)。响应者链参与处理UI事件/操作。它与通知无关。还有,我想他是说这是一个单身汉,事实就是这样。@RobKeniger-我知道他的意思,但这并不意味着你应该自己起名字。而且,不,它不是:)这很有趣,我一直认为它是。它确实是一个整体。更多信息?我认为@hooleyhoop所指的是,您可以使用
alloc init
创建自己的通知中心,尽管在绝大多数用例中,人们只是使用
defaultCenter
获取共享实例。