2008-12-15 4 views
11

Когда мое приложение запускается в iPhone симулятор, метод делегатаiPhone симулятор и applicationWillTerminate()

- (void)applicationWillTerminate:(UIApplication *)application 

только назвал первый раз, когда я попал домой кнопку iPhone симулятора.

После нажатия кнопки «домой» и приложения снова запускается, нажатие кнопки «домой» не вызывает метод делегата.

Что здесь происходит? Я что-то недопонимаю?

ответ

24

Я подозреваю, что он вызван, но вы путаетесь, потому что после того, как вы нажмете кнопку «Главная» в симуляторе, вы закончили текущий сеанс в Xcode. Вероятно, у вас есть NSLog в вашем методе applicationWillTerminate:, да? Как только вы нажмете кнопку «Домой», NSLog s больше не отображаются в консоли запуска Xcode. Если вы откроете /Applications/Console.app, я надеюсь, они появятся там.

+0

Да, вы правы. Вызовы NSLog() не появляются после первого возврата на главный экран. Однако все другие вызовы функций, вызываемые из делегата, продолжают работать, как обычно. Благодаря! – firstresponder 2008-12-15 11:34:07

4
- (void)applicationWillTerminate:(UIApplication *)application 

вызывается, когда приложение «завершается». Если вы используете iOS, приложение не будет завершено при нажатии кнопки дома, если вы не отключили многозадачность для своего приложения или у пользователя нет устройства с поддержкой нескольких задач.

- (void)applicationDidEnterBackground { 

теперь используется, когда пользователь нажимает кнопку «домой». Если (как я уже говорил ранее), вы отключили многозадачность для своего приложения или у пользователя нет устройства с поддержкой нескольких задач.

Смежные вопросы