用途:该技能围绕 SwiftUI 的真实心智模型——标识(identity)、生命周期(lifetime)与依赖(dependency)——解释并修复常见数据流问题,如状态意外重置、动画交叉淡化而非位移、列表闪烁、行序错乱、视图体频繁执行等。内容基于 Apple 的 Demystify 系列、Data Essentials 与 Observation 资料,并涵盖 WWDC26 的 @State 宏。
主要能力:区分结构性标识(类型+层级位置)与显式标识(ForEach 的 id、.id(_:)),说明分支切换会重建视图;讲解“惰性修饰符”原则,优先用单一视图变化修饰符而非 if/else 分支以保持标识;给出 ForEach 标识规则(稳定、非索引、唯一)及列表闪烁检查清单;解释依赖图如何按读取属性精准重绘,@Observable 按属性、按实例追踪变化;提供 @State、@Binding、@Bindable、@Environment、普通属性之间的状态归属决策表。
使用方式:按“症状 | 根因(标识/生命周期/依赖/归属)| 修复”格式产出数据流审查结论,优先检查标识;用 Self._printChanges() 调试 body 重跑原因(仅限调试);通过 .task { await … } 承载副作用,避免 body 内分配、I/O、过滤或字符串拼接。
适用场景:SwiftUI 状态调试、列表与动画表现问题、状态所有权选择、Observation 迁移(从 ObservableObject 到 @Observable)。
限制:资料主要针对 Apple 平台与 SwiftUI;具体版本行为、价格与平台支持暂未提供。