Ответить на applicationWillEnterForeground в UIView - PullRequest
8 голосов
/ 10 августа 2010

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

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

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

Спасибо за любые советы.

1 Ответ

16 голосов
/ 10 августа 2010

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

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

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