这是我第一次在一个项目中使用 SwiftUI 来实现新的流程,但由于大多数流程都是基于 UIKit 的,所以在展示 SwiftUI 流程时需要进行一些小的集成。
为了模拟屏幕之间的导航流程,我们假设带有选项的屏幕是我们用 UIKit(通过代码实现的视图)实现的初始流程,而显示的已安排的房产列表页面是我们用 SwiftUI 实现的视图。
对于初始的 Coordinator,我们可以这样设计:
import UIKit protocol PropertyCoordinatorProtocol: AnyObject { func navigateToSchedule() } class PropertyCoordinator: PropertyCoordinatorProtocol { private var navigationController: UINavigationController private let viewModel: PropertyViewModel init(navigationController: UINavigationController) { self.navigationController = navigationController self.viewModel = PropertyViewModel() viewModel.coordinator = self } func start() { let viewController = PropertyViewController(viewModel: viewModel) navigationController.pushViewController(viewController, animated: false) } }
为了展示视图,我们将创建一个 navigateToSchedu