Ответьте на applicationWillEnterForeground в UIView

У меня есть UITableView, который загружает удаленные данные из сети. У меня есть логика в viewWillAppear для обработки обновления данных при необходимости на основе изменений состояния и TTL для набора данных. Это хорошо работает в рамках приложения "сессия", но не эффективно, когда пользователь выходит из приложения к фону и более поздним восстановлениям она непосредственно к этому представлению.

То, что я нахожу, - то, что, когда приложение восстанавливается переднему плану в iOS4 - viewWillAppear не вызывается в представлении - я могу полностью понять, почему это дизайном. Есть ли другой делегат UIView, которого я должен обманывать? Я ничего не определил в документах.

Так как willEnterForeground доступен в делегате приложения, лучший способ обработать это увольнение уведомления от делегата приложения в представлении? Я пропускаю более прямое изящный способ поймать это в UIView?

Спасибо за любые подсказки.

8
задан Nick 10 August 2010 в 00:55
поделиться

1 ответ

Вы правы насчет вызовов делегатов, хотя то, что вы делаете, мне кажется, что вы захотите приостановить и возобновить свою сетевую активность на основе методов applicationDidBecomeActive: и applicationWillResignActive: , которые оба находятся в делегате приложения.

В ответ на ваш вопрос о более прямом способе перехвата этих уведомлений в вашем UIView, если у вас нет удобного доступа к делегату приложения, вы можете зарегистрироваться для получения уведомления о UIApplicationDidBecomeActiveNotification и UIApplicationWillResignActiveNotification через центр уведомлений по умолчанию. Это несколько отвлекает вас от привязки делегата приложения к вашему представлению.

16
ответ дан 5 December 2019 в 10:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: