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];
Другие вопросы по тегам