SwiftUI 是 Apple 的声明式框架,用 Swift 为 iOS、macOS、watchOS、tvOS、visionOS 构建统一语法的用户界面。本技能面向需要现代 Apple 平台开发协助的场景。
适用情况:构建 Apple 平台应用界面;用 @Observable、Swift 6 并发和 @State 打造流畅动画交互;设计适配 Dynamic Type、深色模式和多种设备的动态布局;实现锁屏/主屏小组件与灵动岛实时活动。
主要能力:@Observable 观察架构(iOS 17+,替代 ObservableObject 与 @Published,只跟踪视图中实际读取的属性);声明式视图修饰符与 ViewModifier 组合封装;NavigationStack 与 navigationDestination 的基于值的类型安全路由;MVVM 结合 Observation 管理状态;@MainActor / Sendable 的 Swift 6 严格并发;#Preview 宏配合静态 Mock 数据。
用法要点:入口用 @main struct App 与 WindowGroup;状态用 @State 持有 ViewModel,@Observable 类管理业务模型;导航用 @State 路径数组配合 navigationDestination(for:) 分发;通过 View 扩展或 modifier() 复用样式。
最佳实践:采用 Swift 6 严格并发并标注 @MainActor、Sendable;拆分大视图为子视图以局部化重算;使用语义颜色支持明暗模式;避免在 @State 存放非瞬态领域状态、主线程做重计算、过度使用 AnyView(改用 @ViewBuilder)。
限制与排错:视图更新期间禁止直接改 @State,副作用移至 onAppear 或按钮动作;body 必须返回 some View;view builder 结构需注意括号与修饰符位置。具体版本兼容范围与官方文档链接资料未完整提供,暂未提供。