Экран сам решает, что открыть следующим: чем это мешает при новых точках входа
Карточка товара после нажатия «Купить» делает у себя внутри:
navigationController?.pushViewController(CheckoutViewController(), animated: true)
Теперь карточку нужно открывать ещё из истории заказов (там после покупки нужен другой экран) и из диплинка, где карточка показывается модально. Что в текущем решении мешает больше всего?
- Экран сам принимает решение о следующем шаге, хотя оно должно приниматься снаружи
- Нужен синглтон NavigationManager, который дёргают из любого экрана — тогда переходы станут переиспользуемыми
- Достаточно сделать CheckoutViewController универсальным и передавать в него флаг источника перехода
- Дело в UINavigationController: чтобы экран переиспользовался, все переходы надо делать модальными
