0
我有多个NSWindowController实例,每注册一次通知就会在发生编辑时进行监听。NS通知监听
现在,当我从windowcontroller的一个实例编辑某些内容时,通知会发布,并且该NSWindowcontroller的所有实例都会侦听该通知,但我只希望更新其详细信息的实例侦听。
我该如何做到这一点?
我有多个NSWindowController实例,每注册一次通知就会在发生编辑时进行监听。NS通知监听
现在,当我从windowcontroller的一个实例编辑某些内容时,通知会发布,并且该NSWindowcontroller的所有实例都会侦听该通知,但我只希望更新其详细信息的实例侦听。
我该如何做到这一点?
如文档中提到的[NSNotificationCenter addObserver:selector:name:object:]
方法参数object
:
的对象,其通知观察者想要接收;也就是 只有这个发送者发送的通知才会被传送给观察者。 如果您通过零,通知中心不会使用通知的 发件人来决定是否将其发送给观察者。
所以只要通过self
作为对象。
E.G.
注册的通知:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(someSelector:)
name:@"SomeNotification"
object:self]; // <- SELF!!
发布通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"SomeNotification"
object:self //<- SELF!!
userInfo:nil];
使用NSNotificationCenter并通过类型NSWindowController,使特定实例得到更新 –