用途:针对 SwiftUI 视图问题提供调试排查与修复建议,主要覆盖状态、绑定与渲染三类常见故障。
主要能力:
- 视图不更新:检查 ViewModel 是否使用 @Observable 宏、需要的属性是否标注 @MainActor、视图是否观察了正确的对象;可通过 @Observable 声明属性自动追踪,并用 @State 持有 ViewModel。
- 绑定失效:检查绑定是否为双向、源值是否可变、@Binding 与 @State 是否匹配;正确链路为 @State 声明值,再用 $value 生成 Binding 传给 TextField。
- 弹窗或 Sheet 无法关闭:检查是否调用 @Environment(.dismiss)、isPresented 绑定是否置为 false、是否存在多个 presentation 修饰符冲突;关闭时可将绑定置 false 并调用 dismiss()。
- 性能问题:检查视图是否过于复杂(可用 Self._printChanges() 观察)、是否存在不必要重渲染或 body 中重计算;可通过拆分子视图、少用 @State、把逻辑移入 ViewModel 优化。
使用方式:按上述检查项逐条核对,并依据问题返回对应的具体修复方案。
适用场景:SwiftUI 项目中视图状态、数据绑定、模态展示与渲染性能相关的问题排查。
限制:资料以 Leavn 应用为背景,未说明支持的平台版本、依赖条件或适用范围;部分内容未提供更多细节。