object
уведомления должен быть объектом, отправляющим уведомление, а не NSNumber
.Это важно для того, чтобы наблюдатель мог наблюдать конкретные случаи, и чтобы для вызывающего абонента было очевидно, что все значения.Передача данных в object
- это простой способ получить «не отвечает на селектор» сбои.Данные об изменениях обычно идут в формате userInfo
, но простые BOOL обычно обрабатываются двумя уведомлениями.В этом случае вы должны иметь:
MYViewControlDidEnterFullScreenNotification
MYViewControlDidExitFullScreenNotification
object
должен быть соответствующим контроллером представления.
Обратите внимание, что эти уведомления очень четкие по времени.Оба случаются после состояние изменилось.Вы также можете иметь эквивалентные Will
уведомления.Посмотрите на список уведомлений для NSWindow
для хорошего примера того, как сделать это правильно.Обратите особое внимание на NSWindowDidEnterFullScreenNotification
и его родственников.
Вы также можете быть заинтересованы в Некоторые мысли о NSNotifications .
Комментарии к KVO хорошие, и часто KVOдостойный способ добиться этого.Но уведомления тоже хороши, и их легче понять и отладить, чем KVO.