UINavigationController управляет стеком экранов и переходами push/pop, а также отображает navigation bar для текущего контроллера.
Для чего используется UINavigationController и как он работает?
UINavigationController управляет стеком экранов и переходами push/pop, а также отображает navigation bar для текущего контроллера.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
UINavigationController управляет стеком экранов и переходами push/pop, а также отображает navigation bar для текущего контроллера.
Корневой контроллер начинает стек; push добавляет следующий экран, pop возвращает к предыдущему. UINavigationItem текущего экрана задаёт заголовок и элементы панели. Контейнер управляет переходами и передачей событий жизненного цикла дочерним контроллерам.
Это отличается от present/dismiss, которые показывают модальный интерфейс. Не стоит хранить бизнес-логику в navigation controller: сложную маршрутизацию можно вынести в coordinator, оставив UIKit управление самим стеком. Для сброса последовательности экранов используется явное изменение стека.