-
load view
— создает вью, которой управляет контроллер. Вызывается при создании контроллера. Вы можете переопределить этот метод, чтобы создать свои вью вручную, здесь присваивается корневое view для иерархии представлений, так же тут мы не вызываемsuper
. -
viewDidLoad
— вью создано и загружено в память, но нет bounds. Хорошее место для инициализации и настройки объектов, используемых во вью контроллере. -
viewWillAppear
— вью будет добавлено в иерархию, определены bounds, но ориентация экрана не определена. Вызывается каждый раз, когда появляется вью. -
viewWillLayoutSubviews
— вызывается каждый раз, когда frame изменился, например, при смене ориентации. Если вы не используете autoresizing masks или constaints, вы, вероятно, хотите обновить сабвью здесь. -
viewDidLayoutSubviews
— вызывается уведомить контроллер, что его вью только что залэйаутил сабвью. -
viewDidAppear
— вью добавлено в иерахию и появилось на экране. Хорошее место для выполнения задач, связанных с анимацией вью. Метод вызывается после того, как анимация загрузки вью закончена. Иногда хорошим кейсом в этом методе будет вытаскивать данные из кордаты и отображать на вью или запрашивать данные с сервера. Так же, в этом жизненном цикле, определены bounds. -
viewWillDissapear
— вью уходит с экрана. Вызывается как при закрытии вью контроллера, так и при переходе дальше по иерархии, например, при пуше нового контроллера в NavigationController. -
viewDidDissapear
— вью ушло с экрана. Вызывается как при закрытии вью контроллера, так и при переходе дальше по иерархии. -
didReceiveMemoryWarning
- iOS устройства имеют ограниченный объем памяти и мощности. Когда память начинает заполняться, iOS не использует ограниченное место на жестком диске для перемещения данных из памяти, как это делает компьютер. По этой причине вы несете ответственность за снижение объема памяти вашего приложения. Если приложение начнет использовать слишком много памяти, iOS сообщит об этом.Поскольку вьюконтроллеры выполняют управление ресурсами, эти уведомления доставляются им с помощью этого метода. Таким образом можно предпринять действия, чтобы освободить некоторую память. Помните, что если вы игнорируете предупреждения памяти и память, используемая вашим приложением, превышает определенный порог, iOS завершит ваше приложение.
-
deinit
- как и любой другой объект, перед удалением вьюконтроллера из памяти он деинициализируется. Обычно мы переопределяемdeinit()
для очистки ресурсов, выделенных вьюконтроллером и не освобожденных при помощиARC
. Также можно остановить задачи, которые не были остановлены в предыдущем методе, так как их нужно было сохранить в фоновом режиме.
4.1.2.2 App Delegate Life Cycle Theme | Back To iOSWiki Contents | 4.1.2.4 View Layout Theme