viewWillAppear и UIApplicationDidBecomeActiveNotification - PullRequest
3 голосов
/ 05 февраля 2012

Я использую UIApplicationDidBecomeActiveNotification, чтобы обновить мой просмотр таблицы, когда приложение становится активным.Моя проблема в том, что в моем ViewWillAppear я также вызываю метод для обновления данных этой таблицы.

Это приводит к тому, что таблица обновляется дважды при запуске приложения.Как я могу заставить один из них не запускаться при первом запуске приложения?Обновление таблицы требует интенсивной обработки сетевых и локальных данных ... поэтому я действительно хотел бы выполнить это действие только один раз.

Спасибо.

Ответы [ 2 ]

6 голосов
/ 14 января 2014

Вам нужно использовать UIApplicationWillEnterForegroundNotification вместо UIApplicationDidBecomeActiveNotification .

Последнее публикуется каждый раз, когда ваше приложение становится активным (первоначальный запуск, возврат к приложению после прерывания вызова / смс и т. Д.). Но первый размещен только в случае пробуждения от фона. Обратите внимание, что в этом случае viewWillAppear не вызывается (как должно быть на первый взгляд).

0 голосов
/ 05 февраля 2012

Один из способов сделать это - установить флаг, который можно установить в didFinishLaunching, поскольку он выполняется только один раз за запуск.

...