Вопрос

Действительно ли метод addSubview загружает представление в приложение или нет?Причина, по которой я спрашиваю, заключается в том, что в моем заявлении есть два представления.Делегат приложения добавляет два представления в качестве подпредставлений, а затем выводит одно из представлений вперед.Теперь у меня есть оператор печати в каждом методе viewDidLoad для каждого представления.Когда я запускаю приложение, делегат приложения загружает представления как подпредставления, и при загрузке каждого представления я фактически вижу, как консоль распечатывает операторы, которые я поместил в каждый из методов viewDidLoad.Это должно быть сделано?

Это было полезно?

Решение

viewDidLoad на самом деле является методом UIViewController, а не UIView.Он вызывается после загрузки представления в память (после метода инициализации, но до пробужденияFromNib).Вы заметите, что addSubview:принимает UIView в качестве параметра, поэтому представление должно быть загружено, чтобы его можно было добавить в другое представление.В противном случае вы попытаетесь добавить воображаемый вид.

Отвечая на ваш вопрос, да, он должен это делать.viewDidLoad вызывается задолго до того, как вы addSubview.Фактически, если вы удалите addSubview:строк, вы заметите, что он все еще вызывается (потому что вы создаете контроллер представления).

Другие советы

Насколько я понимаю, представления загружаются лениво.Если ваш контроллер представления имеет 10 представлений, они не все загружаются, пока вы на самом деле не попытаетесь получить к ним доступ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top