какой метод в UIViewController должен выполнять работу по «заполнению данных» для просмотра? - PullRequest
2 голосов
/ 19 мая 2011

Я довольно свеж в мире ios dev.просто интересно, я всегда должен делать это в методе viewDidLoad?Также это хорошая идея, чтобы всегда выпускать его в viewDidUnload?Спасибо.

1 Ответ

7 голосов
/ 19 мая 2011

Обычно либо в awakeFromNib, viewDidLoad, либо в viewWillAppear.Начинающие обычно начинают с того, что помещают все в viewDidLoad, что хорошо для простого просмотра, но есть причины использовать другие методы.

awakeFromNib вызывается, когда перораспакованы.Здесь вы можете добавить любые дополнительные представления или установить атрибуты, которые недоступны в IB.Если вы не используете IB, то это не вызывается.

viewDidLoad вызывается, когда загружается "view" (obvio).Это следует использовать для добавления объектов представления (обычно подклассов UIView) или обновления их текущими данными.Любые объекты, размещенные здесь, должны быть освобождены в viewDidUnload (который может быть вызван при нехватке памяти).Это вызывается, когда представление помещается в окно (запускаемое методом получения вида UIViewController) и в данный момент не загружается (представления выгружаются из памяти, если они в данный момент не видны).

viewWillAppear вызывается каждый раз, когда представление появится в окне.Это лучшее место для обновления данных на ваш взгляд с текущими данными.Это всегда вызывается, когда вы возвращаетесь из другого модального представления или извлекаете другой контроллер представления, или переключаетесь обратно на это приложение из фона, или возвращаетесь из телефонного звонка и т. Д. Убедитесь, что ваши данные обновляются здесь, или вы можете показывать устаревшие данные.Обязательно вызовите [super viewWillAppear] в какой-то момент в этом методе.

См. Также эти ответы SO: здесь и здесь

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