Вопрос проверяет понимание ленивой загрузки view, управления памятью и реальных сценариев, где жизненный цикл ведёт себя не так, как ожидают новички.
Короткий ответ
viewDidLoad вызывается один раз, потому что view загружается лениво и живёт в памяти, пока контроллер существует. Повторный вызов возможен, если view была выгружена из памяти и затем создана заново. Такое может происходить при нехватке памяти или при ручном обнулении view. В обычных сценариях это редкость, но учитывать это всё равно важно.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.