Ios NSnotificationCenter postNotificationName谁是接收者?

Ios NSnotificationCenter postNotificationName谁是接收者?,ios,notifications,nsnotificationcenter,receiver,Ios,Notifications,Nsnotificationcenter,Receiver,文档中提到了发送者和通知名称,但在哪里提到了将此通知发布给谁?通知是一种广播机制。从doc开始,“对象向通知中心注册,以使用addObserver:selector:name:object:或addObserverForName:object:queue:usingBlock:methods接收通知(NSNotification对象)”,即任何感兴趣的对象都可以注册为侦听器。通知是一种广播机制。根据文档,“对象向通知中心注册以使用addObserver:selector:name:object:

文档中提到了发送者和通知名称,但在哪里提到了将此通知发布给谁?

通知是一种广播机制。从doc开始,“对象向通知中心注册,以使用addObserver:selector:name:object:或addObserverForName:object:queue:usingBlock:methods接收通知(NSNotification对象)”,即任何感兴趣的对象都可以注册为侦听器。

通知是一种广播机制。根据文档,“对象向通知中心注册以使用addObserver:selector:name:object:或addObserverForName:object:queue:usingBlock:methods接收通知(NSNotification对象)”,即任何感兴趣的对象都可以注册为侦听器。

您不会直接向某人发布通知。通知的名称,发件人确定谁获得通知

感兴趣的对象可以订阅通知。发布通知时,将通知所有以该名称收听通知的订阅者。实际上,Cocoa通知可以在两个级别进行调整:

  • 通知名称(字符串)
  • 寄件人
报告清楚地说明了这一点

下面是文档中的一个小ASCII表,显示了根据创建时使用的通知名称和发件人,谁会收到通知:

Notification name | Notification sender | Notification set specified -------------------------------------------------------------------- Specified | Specified | Notifications with a particular name from a specific sender. Specified | Unspecified | Notifications with a particular name by any sender. Unspecified | Specified | Notifications posted by a specific sender. Unspecified | Unspecified | All notifications. 通知名称|通知发送者|指定的通知集 -------------------------------------------------------------------- 使用特定发件人的特定名称指定的|指定的|通知。 由任何发件人使用特定名称指定的|未指定|通知。 由特定发件人发布的未指定|指定|通知。 未指定|未指定|所有通知。 未指定表示为该字段提供了nil值


通知允许松散耦合的设计,因为对象在其实现中不绑定在一起,可以彼此独立工作。

您不会直接向某人发布通知。通知的名称,发件人确定谁获得通知

感兴趣的对象可以订阅通知。发布通知时,将通知所有以该名称收听通知的订阅者。实际上,Cocoa通知可以在两个级别进行调整:

  • 通知名称(字符串)
  • 寄件人
报告清楚地说明了这一点

下面是文档中的一个小ASCII表,显示了根据创建时使用的通知名称和发件人,谁会收到通知:

Notification name | Notification sender | Notification set specified -------------------------------------------------------------------- Specified | Specified | Notifications with a particular name from a specific sender. Specified | Unspecified | Notifications with a particular name by any sender. Unspecified | Specified | Notifications posted by a specific sender. Unspecified | Unspecified | All notifications. 通知名称|通知发送者|指定的通知集 -------------------------------------------------------------------- 使用特定发件人的特定名称指定的|指定的|通知。 由任何发件人使用特定名称指定的|未指定|通知。 由特定发件人发布的未指定|指定|通知。 未指定|未指定|所有通知。 未指定表示为该字段提供了nil值


通知允许松散耦合的设计,因为对象在其实现中不绑定在一起,可以彼此独立工作。

我应该在代码中的何处添加此NSnotificaton语句?我应该将它放在必须是侦听器的函数中吗?@Namratha我建议您参考MoviePlayer示例。我应该在代码中的何处添加此NSnotificaton语句?我应该把它放在必须是监听器的函数中吗?@Namratha我建议您参考MoviePlayer示例。请您说明“通知允许松散耦合的设计,因为对象在其实现中不绑定在一起,可以彼此独立工作。”此外,在addObserver:selector:name:object:中,我不理解selector参数。请解释。假设有两类
A
B
,并且每当发生事件时,
A
的对象需要通知
B
的对象。在没有通知的情况下,我们可以直接从
A
的某个方法调用
B
的某个方法,从而将这两个类绑定在一起并创建硬依赖关系。对于通知,
A
可以直接向通知管理器广播事件发生的情况,如果
B
正在侦听,则它将收到事件通知。如果没有,那么这件事就不会引起注意。但是在本例中,我们没有将这两个类绑定在一起。
选择器
参数是任何人发布通知时应该调用的observer对象中的方法。您能解释一下吗“通知允许松散耦合的设计,因为对象在其实现中不绑定在一起,可以彼此独立工作。另外,在addObserver:selector:name:object:中,我不理解selector参数。请解释。假设有两类
A
B
,并且每当发生事件时,
A
的对象需要通知
B
的对象。在没有通知的情况下,我们可以直接从
A
的某个方法调用
B
的某个方法,从而将这两个类绑定在一起并创建硬依赖关系。对于通知,
A
可以直接向通知管理器广播事件发生的情况,如果
B
正在侦听,则它将收到事件通知。如果没有,那么这件事就不会引起注意。但是在本例中,我们没有将这两个类绑定在一起。
selector
参数是observer对象中的方法,任何人发布通知时都应该调用该方法。