Pull to refresh

Comments 5

А если хочется, чтобы за навигацию отвечала viewModel, а не View?

RouterView - контейнер для вьюх, он нужен для того, чтобы один раз написать логику с прикидкой дестинейшенов и забыть, ну и Environment прокинуть, чтобы на каждую вручную не пихать самостоятельно

... то надо хорошо подумать. Вьюмодель не должна ничего знать о вьюшках, в том числе и о том, как, какие и в каком порядке менять. Иначе получаете обратную зависимость и невозможность переносить вашу логику, например, на часы или телевизор. Или даже на макбук, Windows-компьютер или Android. Роутинг зависит от вьюшек, поэтому он платформенно зависим и должен быть инкапсулирован на уровне представления, а не опущен ниже.

Отличный пример. На самом деле: ему можно сделать даунгрейд до iOS 14, если использовать пример расширения как в статье: https://www.avanderlee.com/swiftui/navigationlink-programmatically-binding/

Sign up to leave a comment.

Articles