NSNotification听力

时间:2016-06-07 07:18:42

标签: objective-c nswindow nsnotification addobserver

我有多个NSWindowController实例,他们正在注册编辑时收听通知。

现在,当我从一个windowcontroller实例编辑某些内容时,会发布通知,并且该NSWindowcontroller的所有实例都会收听该通知,但我只想要更新其详细信息的实例进行监听。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

正如参数[NSNotificationCenter addObserver:selector:name:object:]的{​​{1}}方法文档中所述:

  

观察者想要接收通知的对象;那是,   只有此发件人发送的通知才会传递给观察者。   如果您传递nil,则通知中心不会使用通知   发送者决定是否将其传递给观察者。

所以只需将object作为对象传递 E.G。

注册通知:

self

发布通知:

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(someSelector:)
                                                 name:@"SomeNotification"
                                               object:self]; // <- SELF!!