我有多个NSWindowController实例,他注册了一个通知,以便在编辑发生时侦听。
现在,当我从windowcontroller的一个实例编辑某些内容时,通知被发布,该NSWindowcontroller的所有实例都会侦听该通知,但我只想让已更新其详细信息的实例侦听。
我怎样才能做到这一点呢?
发布于 2016-06-07 15:42:35
如参数object的[NSNotificationCenter addObserver:selector:name:object:]方法文档中所述:
观察者要接收其通知的对象;也就是说,只有此发送者发送的通知才会传递给观察者。如果您传递nil,通知中心不会使用通知的发送者来决定是否将其传递给观察者。
所以只需将self作为对象传递即可。
例如。
注册通知:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(someSelector:)
name:@"SomeNotification"
object:self]; // <- SELF!!发布通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"SomeNotification"
object:self //<- SELF!!
userInfo:nil];https://stackoverflow.com/questions/37672887
复制相似问题