Предоставление уведомления другому классу с NSNotificationCenter - PullRequest
3 голосов
/ 25 июля 2011

Итак, моя цель - доставить уведомление другому классу с помощью NSNotificationCenter, я также хочу передать object с уведомлением другому class, как мне это сделать?

Ответы [ 2 ]

7 голосов
/ 25 июля 2011

Сначала необходимо зарегистрировать имя уведомления

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startLocating:) name:@"ForceUpdateLocation" object:nil]; // don't forget the ":"

А затем опубликовать уведомление со словарем параметров

[[NSNotificationCenter defaultCenter] postNotificationName:@"ForceUpdateLocation" object:self userInfo:[NSDictionary dictionaryWithObject:@"1,2,3,4,5" forKey:@"categories_ids"]]; 

, и метод будет

- (void)startLocating:(NSNotification *)notification {

    NSDictionary *dict = [notification userInfo];
}
0 голосов
/ 25 июля 2011

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

, чтобы опубликовать уведомление:

-(void)postNotificationName:(NSString *)notificationName
                     object:(id)notificationSender
                   userInfo:(NSDictionary *)userInfo;

, где userInfo - словарьсодержит полезные объекты.

С другой стороны, чтобы зарегистрироваться для уведомлений:

-(void)addObserver:(id)notificationObserver
           selector:(SEL)notificationSelector
               name:(NSString *)notificationName
             object:(id)notificationSender;

Вы также можете проверить Темы программирования уведомлений от Apple .

...