用途:在构建 SwiftUI 视图、用 @State/@Binding/@ObservableObject 管理状态,或实现 iOS 应用的声明式 UI 模式时使用,适用于 iOS、macOS、watchOS、tvOS。
状态管理:给出属性包装器层级——@State 为视图自有本地状态;@Binding 双向连接他处状态;@StateObject 创建并持有 ObservableObject;@ObservedObject 引用他处持有的对象;@EnvironmentObject 沿视图层级注入依赖;@Environment 读取系统提供的值。另介绍 iOS 17+ 的 @Observable 模式与旧版 ObservableObject + @Published 写法。
最佳实践:把复杂视图拆成小的专用子视图;模型优先用 struct(如 Identifiable、Equatable)以便高效 diff;用 ViewModifier 封装可复用样式(示例中 cardStyle);用 .task 管理异步工作生命周期。
常见模式:iOS 16+ 用 NavigationStack 配合 navigationDestination 做导航;用 .sheet 和 .alert 呈现弹层与确认框;iOS 17+ 用 @Model 与 @Query 结合 SwiftData 展示列表。
反模式:避免单一巨型视图;自有状态不要用 @ObservedObject(会导致每次视图初始化重建);不要在 body 中产生副作用(如 print),改用 .task/.onAppear/.onChange;视图内不要强制解包,避免崩溃。
相关技能:ios-swift-concurrency(异步/等待数据加载)、ios-uikit-architecture(UIKit 与 SwiftUI 桥接)。安装命令、收费与具体版本要求暂未提供。