Swift Expert 是一个聚焦 Swift 与 SwiftUI 开发问题的技能,资料中说明其面向 Leavn 应用的 Swift/SwiftUI 场景。
用途 该技能用于处理 Swift 与 SwiftUI 相关问题,包括编译器错误、绑定(Binding)问题、@Observable 迁移、Actor 隔离以及最佳实践。资料给出的适用场景为:Swift 错误、SwiftUI 缺陷、迁移问题、最佳实践。
主要能力
- Binding 修复:针对 $viewModel.property 报错,建议在 View 中添加 @Bindable 包装,例如 @Bindable var viewModel: MyViewModel。
- Actor 隔离(Swift 6):对涉及 UI 的代码使用 @MainActor;纯函数使用 nonisolated;异步 UI 更新使用 Task { @MainActor in };不要在 deinit 中访问 @MainActor 属性。
- @Observable 迁移:旧方式为 @Published var x 配合 ObservableObject;新方式为 @Observable class 配合普通 var x;在 View 中使用 @State var vm = ViewModel(),而不是 @StateObject。
- SwiftUI 反模式:避免在 View body 中做重计算,应抽取到 ViewModel;不要对引用类型使用 @State,应使用 @StateObject 或配合 @Observable 的 @State;ViewModel 缺少 @MainActor 时应补上;避免在 View 中强制解包,改用 nil 合并。
- 常见编译器错误:"Cannot convert" 时检查 Optional 解包;"Actor-isolated" 时添加 @MainActor 或 nonisolated;"Missing conformance" 时添加协议或使用类型擦除;"Ambiguous" 时添加显式类型标注。
使用方式 资料未提供具体的安装命令、调用方式或集成步骤,暂未提供。
适用场景 适用于 Swift 报错排查、SwiftUI 缺陷修复、Swift 6 Actor 隔离调整、@Observable 迁移以及遵循 SwiftUI 最佳实践的开发工作。
限制 资料未说明该技能的收费、价格、支持平台、效果保证或额外功能,暂未提供。