Как узнать, когда контроллер возобновил работу из фона?

Поэтому я хочу поддержать переключение приложений в моем новом приложении для iPhone, и я реализовал все надлежащие методы делегата в моем делегате приложения. Поэтому, когда пользователь возобновляет работу приложения, я вижу его активность в NSLog и все. Однако как я могу узнать, что мое приложение возобновило работу контроллера? Есть ли способ, который я могу вставить в свой контроллер, чтобы сообщить мне, что приложение возобновлено в указанном контроллере? Я спрашиваю причину, потому что мое приложение обрабатывает свою собственную схему URL, и я хочу обновить представление в зависимости от запущенного URL. Любая помощь будет принята с благодарностью.

Заранее спасибо

10
задан Raphael Caixeta 21 August 2010 в 01:42
поделиться

2 ответа

Контроллер может наблюдать за уведомлением UIApplicationWillEnterForeground. Вероятно, это выглядело бы примерно так:

- (void) viewDidLoad
{
    [super viewDidLoad];
    //do stuff here
    if(&UIApplicationWillEnterForegroundNotification) { //needed to run on older devices, otherwise you'll get EXC_BAD_ACCESS
        NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
        [notificationCenter addObserver:self selector:@selector(enteredForeground:) name:UIApplicationWillEnterForegroundNotification object:nil];
    }


}
- (void)enteredForeground:(NSNotification*) not
{
    //do stuff here
}
20
ответ дан 3 December 2019 в 18:30
поделиться

Вы также можете просто переопределить - (void) applicationDidBecomeActive: (UIApplication *) application в делегате приложения, чтобы он делал все, что вы хотите, когда он возвращается из фона. Если вы хотите, чтобы сообщение получало конкретное представление, а не делегат приложения, вам необходимо зарегистрироваться для получения уведомления, как описано Эльфредом выше.

-2
ответ дан 3 December 2019 в 18:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: