Уведомление не работает в Presentviewcontroller target-c - PullRequest
1 голос
/ 06 июня 2019

Я показываю UIAlertController, когда получаю ответ от API.После ответа я хочу вызвать уведомление о другом контроллере представления.

Я добавил наблюдателя в контроллере представления 1, как показано ниже:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(UpdateAthleteDictionaryNotification:) name:@"UpdateAthleteDictionary" object:self.dictProfile];

В контроллере представления 2 мой код ниже:

UIAlertController * alert = [UIAlertController
                                 alertControllerWithTitle:applicationName
                                 message:[jsonObject valueForKey:@"responseMessage"]
                                 preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction* yesButton = [UIAlertAction
                                actionWithTitle:@"Ok"
                                style:UIAlertActionStyleDefault
                                handler:^(UIAlertAction * action) {
                                    dispatch_async(dispatch_get_main_queue(), ^{
                                        [[NSNotificationCenter defaultCenter] postNotificationName:@"UpdateAthleteDictionary" object:self.dictProfile];
                                    });
                                    [self.navigationController popViewControllerAnimated:YES];
                                }];
    [alert addAction:yesButton];
    [self presentViewController:alert animated:YES completion:nil];

Но это не звонит.Поэтому, пожалуйста, вы можете предложить мне решения.

1 Ответ

1 голос
/ 06 июня 2019

NSNotificationCenter доставит ваше уведомление только в том случае, если имя и объект совпадают ( источник ).Если вы хотите получать уведомления с любым прикрепленным объектом, вы должны передать nil в качестве аргумента объекта, в вашем случае:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(UpdateAthleteDictionaryNotification:) name:@"UpdateAthleteDictionary" object:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...