Документация для loadView
в значительной степени отвечает на ваш вопрос:
Если вы используете Interface Builder для создания ваших представлений и инициализации контроллера представлений, вы не должны переопределять этот метод.
Вы можете переопределить этот метод для создания ваших представлений вручную.Если вы решите это сделать, присвойте корневое представление иерархии вашего представления свойству представления.Представления, которые вы создаете, должны быть уникальными экземплярами и не должны использоваться совместно с любым другим объектом контроллера представления.Ваша пользовательская реализация этого метода не должна вызывать super.
Если вы хотите выполнить дополнительную инициализацию ваших представлений, сделайте это в методе viewDidLoad ().
Другими словами, только когда-либо переопределите loadView
, если вы пишете свой контроллер представления строго в коде - без пера или раскадровки.И только в том случае, если у вас есть причина, по которой базовое представление контроллера отличается от простого старого UIView
, который вы получаете по умолчанию.И помните, что вы должны не вызывать super.loadView()
в вашей реализации.
Я бы использовал viewDidLoad
для создания и настройки любых подпредставлений, которые вы хотите добавить в базовый вид контроллера представления.(был ли loadView
использован или нет).Также используйте viewDidLoad
для любой другой настройки, которую нельзя выполнить до тех пор, пока представление не будет загружено.
Технически, если вы переопределите loadView
для настройки собственного базового представления, все, что вы могли бы вставить в viewDidLoad
можно поставить в свой loadView
.Но я все равно разделил бы ответственность.Используйте loadView
(если необходимо) только для создания и настройки базового вида контроллера.Используйте viewDidLoad
для создания других подпредставлений по мере необходимости и любой другой настройки контроллера.
Также имейте в виду, что некоторые начальные настройки контроллера представления принадлежат инициализатору.Но такой код не может ссылаться ни на какие представления.