
Комментарии 2
Вопрос 1: почему завернул containered в массив?
Не уверен, что понял вопрос. Массив - потому что нужно было реализовать функциональность стека. Так как коллекция "стек" в Swift отсутствует, то проще всего было использовать именно массив. В целом - это можно делать по-разному.
Если вопрос касался ContainerView, то потому, для инициализации массива мы не можем использовать View или some View.
Вопрос 2: при описанном подходе мы отказываемся от стандартных анимаций переходов между экранами (и от модальных презентаций), а значит должны реализовать кастомные, верно?
Точно такую анимацию как это делается при использовании UINavigationViewController в UIKIt сделать не получается. Но достаточно добавить .transition(.move(edge: .trailing)) к "навигационному вью" и .transition(.move(edge: .bottom)) - для модального окна - чтоб получить схожее поведение.
Бонус: предлагаю заменить @ObservedObject на @StateObject внутри struct ContentView, ...
Согласен. Для данного примера @StateObject подходит лучше.
SwiftUI. Есть ли жизнь без NavigationView или пару слов о координаторе