iphone - Какова цель NSNotification? - PullRequest
2 голосов
/ 05 ноября 2010
  1. Не могли бы вы объяснить, какова цель NSNotification и в каких ситуациях я мог бы его использовать?

  2. Вызывает ли уведомление все классы вприложение, или оно вызывает определенный класс, передавая делегата?

  3. Можно ли создать 1 уведомление и получить его для нескольких классов?

Ответы [ 3 ]

6 голосов
/ 05 ноября 2010
  1. Используя NSNotification, вы можете уведомить несколько объектов о каком-либо событии, и вы можете делать это, не заботясь о том, какие объекты и сколько из них прослушивают это уведомление.

  2. NSNotification проходит через объект NSNotificationCenter, который отвечает за получение уведомлений от объектов, которые их создают (используя postNotification: семейство функций), и отправку их объектам, которые зарегистрированы для прослушивания определенного уведомления (для получения объекта уведомления необходимо зарегистрироваться в NSNotificationCenter с помощью addObserver: функции)

  3. Уведомление может наблюдаться несколькими объектами - все они должны просто зарегистрироваться в NSNotificationCenter,

1 голос
/ 12 мая 2011
Объекты

NSNotification инкапсулируют информацию, чтобы ее можно было передавать другим объектам с помощью объекта NSNotificationCenter.

Объект NSNotification (называемый уведомлением) содержит имя, объект и необязательный словарь.Имя - это тег, идентифицирующий уведомление.Объект - это любой объект, который автор уведомления хочет отправить наблюдателям этого уведомления (обычно это объект, который разместил уведомление).В словаре хранятся другие связанные объекты, если таковые имеются.NSNotification объекты являются неизменяемыми объектами.

0 голосов
/ 05 ноября 2010

1: Вы прочитали Темы программирования уведомлений ?

2: наблюдатель должен быть зарегистрирован для уведомления

3: Да, несколько объектов могут наблюдать одно и то же уведомление

...