Как создать объект NSNotification в Objective-C? - PullRequest
5 голосов
/ 22 февраля 2010

Я хочу создать объект NSNotification как:

NSNotification *obj=[[NSNotification alloc]init];

но когда я создаю это, я получаю исключение как 'NSConcreteNotification init: not позволено'. Как мне решить эту проблему?

Ответы [ 2 ]

7 голосов
/ 22 февраля 2010

Из NSNotification документации:

Вы можете создать объект уведомления с помощью методов класса notificationWithName:object: или notificationWithName:object:userInfo:. Однако обычно вы не создаете свои собственные уведомления напрямую. Методы NSNotificationCenter postNotificationName:object: и postNotificationName:object:userInfo: позволяют удобно разместить уведомление, не создавая его сначала.

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

NSNotificationCenter имеет удобные методы для создания и отправки уведомлений:

[[NSNotificationCenter defaultCenter] 
               postNotificationName:XYYourNotification
               object:@"someObject"];

Если вы хотите использовать собственные уведомления, создайте имя уведомления extern:

extern NSString* const XYYourNotification;

и определите фактическую строку NSString * в вашей реализации.
Если вы используете строковые константы для имен уведомлений, ваш код менее подвержен ошибкам при опечатках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...