Я пытаюсь выгрузить контроллер представления из поля зрения, когда iPhone переходит в режим сна. В моем приложении есть секундомер, который должен вести счет, когда телефон переходит в спящий режим или поступает звонок, или пользователь закрывает приложение без выхода из системы.
У меня есть все эти функциональные возможности, я фиксирую все времена запуска и остановки и после повторного входа в контроллер представления секундомера я вычисляю разницу. Все работает прекрасно. Когда я проводил дополнительное тестирование, я понял, что не принял во внимание переход iPhone в спящий режим.
Так что все, что мне нужно сделать, чтобы убедиться, что мой секундомер правильный, вернет пользователя на главный экран приложения. Я знаю, что следующий метод вызывается, когда приложение переходит в спящий режим:
-(void)applicationWillResignActive:(UIApplication *)application
Как выгрузить контроллер представления секундомера из моего делегата приложения?
---- ОБНОВЛЕНИЕ ----
kpower, спасибо за ваш отзыв. Я реализовал следующий код:
В моем приложении-делегате:
- (void)applicationWillResignActive:(UIApplication *)application
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"AppIsAsleep" object:nil];
}
В моем контроллере представления у меня есть следующее:
-(void)viewDidLoad
{
// Add Observer.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(viewDidUnload:) name:@"AppIsAsleep" object:nil];
}
- (void)viewDidUnload {
//Remove the Observer.
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"AppIsAsleep" object:nil];
}
Когда телефон переходит в режим сна, он фактически закрывает приложение, я что-то не так делаю?
С уважением,
Стивен