Ответ
Оптимальное место — метод viewDidLoad(). К этому моменту иерархия представлений загружена в память, но еще не отображена на экране, что безопасно для начальной настройки UI-компонентов.
override func viewDidLoad() {
super.viewDidLoad()
titleLabel.text = "Заголовок"
subtitleLabel.text = "Подзаголовок"
}
Альтернативные методы и их применение:
viewWillAppear(_:)— используйте, если значение нужно обновлять при каждом появлении экрана (например, актуальный счетчик).viewDidLayoutSubviews()— подходит, если для установки текста требуются финальные размеры и позиции элементов (осторожно: может вызываться многократно).
Не рекомендуется: loadView() — на этом этапе представление может быть еще не инициализировано.