Предоставление уведомления другому классу с помощью NSNotificationCenter

StackOverflow https://stackoverflow.com/questions/6810105

Вопрос

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

Это было полезно?

Решение

Вы должны сначала зарегистрировать имя уведомления

[[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];
}

Другие советы

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

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

-(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 Темы программирования уведомлений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top