Навигация в Swift UI: что изменилось с появлением iOS 16
Разбор улучшений API навигации, которые были представлены в iOS 16:
👉 NavigationView стал deprecated
👉 NavigationLink пополнился новыми конструкторами
👉 Больше возможностей в NavigationPath
#navigation #swiftui #ios16
Разбор улучшений API навигации, которые были представлены в iOS 16:
👉 NavigationView стал deprecated
👉 NavigationLink пополнился новыми конструкторами
👉 Больше возможностей в NavigationPath
#navigation #swiftui #ios16
👎4
iOS Screen Navigation Engine at Revolut
В статье описан кастомный подход к навигации - Revolut Flow Engine - автомат конечных состояний для обработки flow.
Используемые сущности:
👉 FlowState - описывает состояние и логику его изменения в зависимости от примененного к нему действия
👉 FlowStep - enum с этапами
👉 Flow - возвращает следующий FlowStep в зависимости от поданного FlowState
👉 FlowPerformer - воспроизводит этапы и их логику
👉 FlowRunner - вызывает все выше в одну строчку
👉 FlowEngine - единственный на все приложение, вызывает FlowPerformer и его апдейты
Данный подход к навигации позволяет вызывать flow без дублирования кода из любого места в приложении и легче реализовать test-driven development
#navigation
В статье описан кастомный подход к навигации - Revolut Flow Engine - автомат конечных состояний для обработки flow.
Используемые сущности:
👉 FlowState - описывает состояние и логику его изменения в зависимости от примененного к нему действия
👉 FlowStep - enum с этапами
👉 Flow - возвращает следующий FlowStep в зависимости от поданного FlowState
👉 FlowPerformer - воспроизводит этапы и их логику
👉 FlowRunner - вызывает все выше в одну строчку
👉 FlowEngine - единственный на все приложение, вызывает FlowPerformer и его апдейты
Данный подход к навигации позволяет вызывать flow без дублирования кода из любого места в приложении и легче реализовать test-driven development
#navigation
👍7👎1🤔1
The View Controller Hierarchy
Если вы забыли как строятся отношения между контроллерами внутри приложения, то эта статья от Apple поможет восполнить пробелы
Основные типы контроллеров:
👉 The Root View Controller - головной контроллер, с которого начинаются все флоу в приложении. Каждый UIWnidow имеет ровно один такой контроллер❗️
👉 Container View Controller - позволяет собирать сложные интерфейсы из более управляемых и многократно используемых частей. Например, UINavigationController
👉 Presented View Controllers - экран, открытый поверх другого
#navigation
Если вы забыли как строятся отношения между контроллерами внутри приложения, то эта статья от Apple поможет восполнить пробелы
Основные типы контроллеров:
👉 The Root View Controller - головной контроллер, с которого начинаются все флоу в приложении. Каждый UIWnidow имеет ровно один такой контроллер❗️
👉 Container View Controller - позволяет собирать сложные интерфейсы из более управляемых и многократно используемых частей. Например, UINavigationController
👉 Presented View Controllers - экран, открытый поверх другого
#navigation
🔥2👎1