Действительно ли метод addSubview загружает представление в приложение или нет? Причина, по которой я спрашиваю, заключается в том, что в моем приложении есть два представления. Делегат приложения добавляет два представления в качестве подпредставлений, а затем выводит одно из представлений вперед. Теперь у меня есть оператор печати в каждом из методов viewDidLoad для каждого представления. Когда я запускаю приложение, делегат приложения загружает представления как вложенные представления, и по мере загрузки каждого представления я фактически вижу, как консоль распечатывает операторы, которые я поместил в каждый из методов viewDidLoad. Это должно быть так?
UIWindow и UIView addSubview Вопрос
Ответы (2)
viewDidLoad на самом деле является методом UIViewController, а не UIView. Он вызывается после загрузки представления в память (после вашего метода инициализации, но до awakeFromNib). Вы заметите, что addSubview: принимает UIView в качестве параметра, поэтому представление должно быть загружено, чтобы оно было добавлено в другое представление. В противном случае вы бы попытались добавить воображаемый вид.
Отвечая на ваш вопрос, да, он должен это делать. viewDidLoad вызывается задолго до того, как вы добавляете Subview. Фактически, если вы удалите строки addSubview :, вы заметите, что он все еще вызывается (потому что вы создаете контроллер представления).
Насколько я понимаю, представления загружаются лениво. Если ваш viewcontroller имеет 10 представлений, они не все загружаются, пока вы не попытаетесь получить к ним доступ.