Что такое NSNotification? - PullRequest
       20

Что такое NSNotification?

13 голосов
/ 14 декабря 2009

Кто-нибудь может объяснить важность NSNotificationCenter?

Где их использовать?

В чем разница между NSNotificationCenter и AppDelegate?

Ответы [ 3 ]

30 голосов
/ 14 декабря 2009

Apple предоставила шаблон наблюдателя в библиотеке Какао, который называется NSNotificationCenter.

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

Подробнее об этом можно прочитать здесь: http://numbergrinder.com/node/32

Делегат приложения - это объект, который получает уведомления, когда объект UIApplication достигает определенных состояний. Во многих отношениях это специализированный паттерн Observer.

Подробнее об этом можно прочитать здесь: Для чего нужен AppDelegate и как узнать, когда его использовать?

2 голосов
/ 03 февраля 2010

Если вы пришли из фона Actionscript, тогда я думаю, что NSNotification - это как добавление слушателей к объектам.

1 голос
/ 10 октября 2012

NSNotification похоже на уведомление другого класса об изменениях, которые произойдут, если какое-либо действие произойдет в другом классе.

...