Обновление просмотра содержимого контроллера при выходе приложения на передний план - PullRequest
3 голосов
/ 14 сентября 2010

У меня есть приложение с панелью вкладок, в которой есть несколько вкладок с пользовательским контентом. Когда каждый контроллер представления загружается, метод viewDidLoad делает HTTP-запросы к серверу для выборки данных, а затем соответственно заполняет его представление. Однако после загрузки всех данных представление остается прежним (если только контроллер представления не выгружен и не загружен повторно).

Многие другие приложения с пользовательским контентом имеют аналогичное поведение, за исключением того, что каждое представление будет перезагружаться, если приложение переходит в фоновый режим, а затем снова возвращается на передний план. То есть, когда пользователь переключается между различными вкладками, когда приложение активно, содержимое не будет автоматически обновляться. Если пользователь «закроет» приложение, а затем вернется к нему позже, представления будут перезагружены.

Существуют ли стандартные методы для разработки приложения, которое будет вести себя таким образом? В частности, мне интересно, есть ли тонкости UIKit, которыми я могу воспользоваться, чтобы обновить свои взгляды на "перезапуски" приложения.

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

1 Ответ

5 голосов
/ 14 сентября 2010

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

...