GitHub
SwiftfulRouting — программная навигация для SwiftUI
SwiftfulRouting — это нативный декларативный фреймворк, который обеспечивает программную навигацию в приложениях SwiftUI.
Маршрутизаторы, основанные на программном коде, не декларируют иерархию представлений заранее, а только во время выполнения. Однако SwiftUI является декларативным, и поэтому мы должны заранее объявлять иерархию представлений. Решение заключается в том, чтобы преобразовать декларативный код SwiftUI в программный, подключив модификаторы представления для поддержки маршрутизации заранее.
При переходе на новый экран фреймворк добавляет в корень целевого View набор модификаторов представления, которые будут поддерживать все потенциальные маршруты навигации. Модификаторы основаны на дженериках и/или type-erased пунктах назначения, что сохраняет декларативную иерархию представлений и позволяет разработчику определять пункт назначения на этапе выполнения.