Дополнительные методы жизненного цикла Push-уведомления UIViewController

#ios #objective-c #uiviewcontroller

#iOS #objective-c #uiviewcontroller

Вопрос:

У меня есть одна проблема. После того, как я нажму на push-уведомление со своего iPhone, откроется мое приложение. Но UIViewController методы жизненного цикла не вызываются. Как вызвать? Пожалуйста, помогите.

 -(void) viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
}
  

или

 -(void) viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
}
  

Спасибо.

Комментарии:

1. Было ли ваше приложение уже запущено (фактически приостановлено в фоновом режиме) или оно было запущено недавно?

2. @rmaddy, приостановлено в фоновом режиме. Спасибо.

3. Тогда почему вы ожидаете, что эти методы будут вызваны снова? Ваше приложение возвращается на передний план. Этот контроллер представления уже находится в поле зрения.

Ответ №1:

Если вы хотите обработать push-сообщение, вам лучше использовать эти методы UIApplicationDelegate.

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo NS_AVAILABLE_IOS(3_0);
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification NS_AVAILABLE_IOS(4_0);
  

При запуске вашего приложения с помощью уведомления будет вызван делегат. Затем вы делаете что-то для своего ViewController.

Комментарии:

1. Привет, @trick14 Я думаю, что данные push-уведомлений будут добавлены в таблицу просмотра моей домашней страницы. Но TableView не перезагружается. Спасибо.