NSNotification прослушивания
У меня есть несколько экземпляров NSWindowController, который регистрируется для уведомления, чтобы прослушивать всякий раз, когда редактирование происходит.
Теперь, когда я редактирую что-то из одного экземпляра windowcontroller, уведомление публикуется, и все экземпляры этого NSWindowcontroller слушают это уведомление, но я хочу, чтобы прослушивался только тот экземпляр, который обновил свои данные.
Как я могу этого достичь?
1 ответ
Как указано в документации для [NSNotificationCenter addObserver:selector:name:object:]
метод для параметра object
:
Объект, чьи уведомления хочет получить наблюдатель; то есть только уведомления, отправленные этим отправителем, доставляются наблюдателю. Если вы передаете ноль, центр уведомлений не использует отправителя уведомления, чтобы решить, следует ли доставить его наблюдателю.
Так что просто пройдите self
как объект
НАПРИМЕР
Регистрация для уведомлений:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(someSelector:)
name:@"SomeNotification"
object:self]; // <- SELF!!
Отправка уведомления:
[[NSNotificationCenter defaultCenter] postNotificationName:@"SomeNotification"
object:self //<- SELF!!
userInfo:nil];