UIApplicationWillEnterForegroundNotification против viewWillAppear - шаблон для инициализации? - PullRequest
8 голосов
/ 05 января 2011

Я узнал, что мое приложение плохо работает на многозадачной iOS в случае, если при выходе из приложения был активен определенный ViewController.Этот контроллер представления должен собрать недавнюю информацию для отображения.До сих пор код инициализации для сбора этой информации размещался только в viewWillAppear.

Теперь я узнал, что viewWillAppear не будет вызываться, когда представление появится из фона.

Поскольку мир мог измениться с того момента, как приложение было отправлено в фоновом режиме, контроллеру представления необходимо выполнить повторную инициализацию.Я понимаю, что могу зарегистрироваться для UIApplicationWillEnterForegroundNotification.Однако это срабатывает каждый раз, когда приложение возвращается на передний план, независимо от того, перемещается ли пользователь в данный момент к этому конкретному viewController.

У вас есть шаблон, как использовать UIApplicationWillEnterForegroundNotification только тогда, когда ViewController активен в смысле «скоро появится»?

1 Ответ

7 голосов
/ 05 января 2011

Зарегистрируйтесь для UIApplicationWillEnterForegroundNotification в viewWillAppear: и отмените регистрацию в viewWillDisappear:.Таким образом, вы будете уведомлены только тогда, когда вид действительно виден.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...