在 SwiftUI 中,数据与视图的绑定可以自动响应数据变化,实时更新 UI。SwiftUI 提供了多种数据管理方式,包括 @State、@Binding、@ObservedObject 和 @EnvironmentObject 等属性包装器。本章将逐一介绍这些属性包装器的用途及其最佳实践。
4.1 使用 @State 进行本地状态管理
@State 是 SwiftUI 中最基本的数据管理方式,适用于单个视图内部的数据状态。将变量声明为 @State 后,SwiftUI 会自动监听其变化,并重新渲染视图。
示例代码:
struct CounterView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
.font(.largeTitle)
Button("Increment") {
count += 1
}
.padding()
.background(Color.blue)
.foregroundColor(