viewDidLoad — однократная инициализация после загрузки view; viewWillAppear вызывается каждый раз перед показом экрана пользователю.
Разбор
- В viewDidLoad настраивают outlets, жесты, одноразовые подписки UI.
- В viewWillAppear обновляют данные, которые могли устареть на другом экране.
- Тяжёлую сеть лучше не блокировать в viewDidLoad без индикатора.
- viewDidAppear — когда анимация перехода уже завершена.
Итог
DidLoad = один раз; WillAppear = при каждом показе.