将 ViewModel 迁移到 @Observable
何时使用: App 已面向 iOS 17+,但 ViewModel 仍在使用 ObservableObject + @Published。
步骤
-
盘点Axiom:列出项目中所有 ObservableObject + @Published,标注哪些是叶节点,哪些是共享对象。✓ 已复制→ 带结构和依赖提示的清单
-
迁移一个将 ProfileViewModel 重构为 @Observable,保持公开 API 稳定,更新 View 中的 binding 写法。✓ 已复制→ ViewModel 已迁移;View 中使用 @Bindable;@Published 已全部移除
-
验证运行该 scheme 的 xcodebuild,报告所有警告。✓ 已复制→ 构建干净;没有 Swift 6 警告
结果: 采用现代 @Observable 的代码库,View 层更简洁。
注意事项
- 现有测试依赖 @Published 的投影写法($name) — 测试需要重写;并非所有访问模式都能直接映射