用途:重构与审查 SwiftUI 视图文件,统一视图结构、依赖注入与 Observation 用法,适用于清理视图、拆分过大的 body、规范视图模型处理。
主要能力:
- 视图顺序:按环境、let 属性、@State 及存储属性、非视图计算属性、init、body、视图构建计算属性、辅助与异步函数的自上而下顺序排列。
- 偏好 MV 模式:视图为轻量状态表达,业务逻辑归模型与服务;优先用 @State、@Environment、@Query 及 task/onChange 做编排;服务与共享模型经 @Environment 注入;大视图拆分而非引入视图模型。
- 拆分大 body 与视图属性:body 超一屏或多逻辑区块时拆为子视图;带状态或复杂分支的大型计算视图属性可提取为独立 View 类型;相关子视图可保留为同文件计算属性;优先传入小输入(数据、绑定、回调)。
- 视图模型处理:仅在明确需要时引入;已存在时尽量非可选;通过 init 传入依赖并在视图 init 中转交视图模型;避免 bootstrapIfNeeded 模式。
- Observation:@Observable 引用类型在根视图用 @State 存储,按需显式向下传递,避免不必要的可选状态。
工作流:按顺序规则重排视图;优先 MV,把轻量编排移入视图;将可选视图模型替换为非可选 @State 视图模型并在 init 中传依赖;确认 Observation 用法正确、无冗余包装;保持布局与业务逻辑不变,除非明确要求。
大文件处理:视图文件超过约 300 行时,用扩展分组相关辅助内容,将异步与辅助函数移入私有扩展,并以 // MARK: - 注释分隔(如 Actions、Subviews、Helpers);主结构专注存储属性、init 与 body。
限制:资料未提供安装命令、价格、平台与具体效果等信息。