Как передать userInfo в NSNotification? - программирование
Подтвердить что ты не робот

Как передать userInfo в NSNotification?

Я пытаюсь отправить некоторые данные с помощью NSNotification, но застрял. Вот мой код:

// Posting Notification
NSDictionary *orientationData;
if(iFromInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
    orientationData = [NSDictionary dictionaryWithObject:@"Right"
                                                  forKey:@"Orientation"];
}

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter postNotificationName:@"Abhinav"
                                  object:nil
                                userInfo:orientationData];

// Adding observer
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(orientationChanged)
                                             name:@"Abhinav"
                                           object:nil];

Теперь, как получить этот словарь userInfo в моей ориентации выбораChanged?

4b9b3361

Ответ 1

Вы получаете объект NSNotification, переданный вашей функции. Это включает имя, объект и информацию о пользователе, которые вы предоставили NSNotificationCenter.

- (void)orientationChanged:(NSNotification *)notification
{
    NSDictionary *dict = [notification userInfo];
}

Ответ 2

У вашего селектора должен быть :, чтобы принимать параметры.
например.

@selector(orientationChanged:)

то в объявлении метода он может принять параметр NSNotification.

Ответ 3

Вы отправляете уведомление правильно. Пожалуйста, измените Обозреватель уведомлений, как показано ниже.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:)
 name:@"Abhinav" object:nil];

- (void)orientationChanged:(NSNotification *)notification
{
    NSDictionary *dict = [notification userInfo];
}

Надеюсь, это решение будет работать для вас.

Ответ 4

В быстрых Чтобы получить объект userinfo

     let dict = notification.userInfo
     print(dict)