#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 не перезагружается. Спасибо.