Можно ли вызывать viewDidLoad несколько раз?

#iphone #objective-c #ios

#iPhone #objective-c #iOS

Вопрос:

В документации говорится: «Этот метод вызывается после того, как контроллер представления загрузил связанные с ним представления в память». Мои вопросы:

1) если я инициализирую контроллер представления, вызывается ли viewDidLoad, или представление действительно должно быть добавлено в качестве супервизора текущего представления для его вызова

2) Если я добавлю представление view controllers, и будет вызван viewDidLoad, затем я удалю представление view controllers, а затем повторно добавлю его позже, будет ли viewDidLoad вызываться снова?

Ответ №1:

viewDidLoad вызывается всякий раз, когда загружается представление. Это происходит при обращении к vc.view свойству. Обычно это происходит непосредственно перед добавлением представления в иерархию представлений, но это может произойти раньше, если к свойству был получен доступ ранее.

Если вы удаляете свое представление из иерархии представлений, а затем появляется предупреждение о памяти и viewDidUnload вызывается, то viewDidLoad оно будет вызвано снова, если к view свойству снова будет получен доступ. Но это единственный способ вызвать его во второй раз; если ваш просмотр никогда не выгружается, то viewDidLoad никогда не будет повторен.