2010-08-27 2 views
1

Возможно, кто-нибудь может сказать мне, почему при запуске моего приложения во второй раз (после нажатия кнопки «домой») метод viewDidLoad: не вызывается?viewDidLoad называется только в первый раз

+1

Может у нас есть некоторый код, пожалуйста, чтобы проиллюстрировать эту проблему (например, с NSLog (@ «viewDidLoad»), в соответствующем месте, которое вы проверили и убедились, что не работает, как ожидалось – jrtc27

ответ

2

На iOS 4 приложения больше не выходят при нажатии кнопки «домой». Они перемещаются из ОЗУ, приостанавливаются, а затем продолжаются, когда вы повторно вводите их, а не запускаете снова.

0

В iOS4 есть:

  • (аннулируются) applicationDidBecomeActive: (UIApplication *) применение {}

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

Благодаря Джеймс

+0

Существует также ?- (void) applicationWillEnterForeground: (приложение UIApplication *) - (void) applicationDidEnterBackground: (приложение UIApplication *) – jodm

0

Второй раз, когда вы «запустить» приложение, на самом деле вы не запускается, но только повторно активации (приложение было в фоновом режиме). Ваши взгляды не перезагружены.

Как было сказано в предыдущих ответах:

  • Вы можете обнаружить его с помощью (void)applicationDidBecomeActive:(UIApplication *)application и выполнить код здесь (обновить HMI, refetch ДАННЫЕ, и т.д ...),
  • Или переместить код viewWillAppear
Смежные вопросы