2011-02-11 147 views

回答

3

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

感兴趣的对象可以订阅通知。当您发布通知时,通过该名称收听通知的所有订阅者都会收到通知。

  • 通知名称(字符串)
  • 发件人

class documentation说明了这一点明确:其实可可通知可以在两个层次进行调整。

下面是显示谁得到这取决于通知名称和发件人创建通知时使用的文档有点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. 

不明指的是零值该字段提供。

通知允许松散耦合的设计,因为对象在其实现中没有绑定在一起,并且可以相互独立工作。

1

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

+0

我应该在代码中添加此NSnotificaton语句?我应该把它放在必须是听众的功能中吗? – Namratha 2011-02-11 04:13:16

+0

@Namratha我建议你参考MoviePlayer示例http://developer.apple.com/library/ios/#samplecode/MoviePlayer_iPhone/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007798以供参考。 – ohho 2011-02-11 06:33:07