Какую роль выполняет UIViewController в UIKit?

«Какую роль выполняет UIViewController в UIKit?» — вопрос из категории UIKit, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

UIViewController — это контроллер представления, который управляет одним экраном (или его частью) в iOS-приложении. Он координирует взаимодействие между моделью данных и представлением (UIView).

Основные обязанности:

  1. Управление жизненным циклом вью — вызов методов viewDidLoad(), viewWillAppear(), viewDidDisappear() и др.
  2. Обработка пользовательских событий — нажатия, жесты, действия с UI-элементами.
  3. Навигация — переходы между экранами через present() или pushViewController().
  4. Работа с данными — загрузка, обновление и подготовка данных для отображения.
  5. Управление памятью — освобождение ресурсов при нехватке памяти.

Пример базового контроллера:

class ProfileViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        setupUI()
        loadUserData()
    }

    private func setupUI() {
        view.backgroundColor = .systemBackground
        let label = UILabel()
        label.text = "Welcome"
        view.addSubview(label)
        // Настройка constraints...
    }
}

Почему важен: Без UIViewController приложение не может корректно управлять интерфейсом, обрабатывать события и соблюдать жизненный цикл экранов.