Предоставление уведомления другому классу с помощью NSNotificationCenter
-
25-10-2019 - |
Вопрос
Поэтому моя цель - доставить уведомление другому классу с использованием 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 Темы программирования уведомлений.
Не связан с StackOverflow