Центр уведомлений
Уведомление представляет собой упрощенный механизм, который могут использовать объекты для "общения" друг с другом. Любой объект может определить одно или несколько уведомлений, которые он будет передавать в центр уведомлений данного приложения. Этот центр представляет собой объект, существующий только в одном экземпляре (singleton object) и только для того, чтобы передавать уведомления между объектами. Уведомление можно рассматривать как признак того, что произошло некоторое событие. Объекты, которые публикуют уведомления, включают в свою документацию список возможных уведомлений. Например, что класс UIApplication публикует разные уведомления. Цель большинства уведомлений можно обычно определить по их именам, но по необходимости можете обратиться к документации, которая содержит более подробную информацию о назначении уведомления.
Наше приложение должно обновлять изображение перед активизацией, поэтому нас интересует уведомление OIApplicationWillEnterForegroundNotification. При написании нашего метода viewDidLoad мы должны "подписаться" на это уведомление и указать центру.
Метод начинается с получения ссылки на экземпляр нашего приложения и использует ее для подписки на уведомление UIApplicationWillEnterForegroundNotification с помощью стандартного экземпляра типа NSNotificationCenter и метода addObserver: selector: name : object:. Этому методу мы передаем следующие данные.
В качестве обозревателя (observer:) передаем ключевое слово self, означающее, что наш класс контроллера сам является объектом, который должен быть уведомлен (для каждого класса контроллера это делается в отдельности).
В качестве селектора (selector:) передаем селектор для метода applicationWi.il EnterForeground: (который мы только что написали), предписывая центру уведомлений вызвать этот метод, когда уведомление будет отправлено.
Для третьего параметра (name:) берем имя уведомления, в получении которого мы заинтересованы.
Наконец, последний параметр (object:) представляет собой объект, от которого мы ожидаем уведомление. Если бы мы передали в качестве четвертого параметра значение nil, то получали бы уведомление каждый раз, когда любой метод отправлял уведомление UIApplicationWillEnterForegroundNotification.
- Дата: 25-12-2014, 22:22