用途:为 SwiftUI 导航提供架构决策框架,而非语法教学,重点在模式选择与状态管理权衡。
主要能力:给出导航架构选择决策树(简单线性流程用 NavigationStack 内联 NavigationLink;中等复杂度用 NavigationStack + Router;复杂多标签用 Tab Coordinator + 每标签独立 Router);NavigationPath 与类型化数组的取舍(优先类型化数组,除非确需异构路由);深链处理策略(热启动直接导航,冷启动需判断视图层级是否就绪,未就绪则排队待处理);模态与推入的选择(自包含流程用 .sheet/.fullScreenCover,层级内下钻用推入)。
必要用法:Router 持有导航状态,ViewModel 只持有数据;每个标签使用独立 Router 与 NavigationPath;路由用枚举而非字符串;视图不直接创建目标,交由 Router 处理;冷启动深链用待处理 URL 队列在根视图 .onAppear 中处理;可选使用 @SceneStorage 持久化导航状态。
适用场景:iOS/tvOS SwiftUI 应用的导航架构设计、深链接入、多标签导航协调。
限制:资料未提供具体安装命令、收费方式、平台版本要求或效果数据;示例代码为示意,实际需按项目调整。