@StateObject
特点
使用示例
import SwiftUI
// 模型
class CounterModel: ObservableObject {
@Published var count: Int = 0 // 被观察的属性
func increment() {
count += 1 // 更新计数
}
}
struct ContentView: View {
@StateObject private var counter = CounterModel() // 创建并持有 CounterModel 实例
var body: some View {
VStack {
Text("Count: \(counter.count)") // 显示当前计数
.font(.largeTitle)
Button("Increment") {
counter.increment() // 调用模型的方法来增加计数
}
.padding()
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(8)
}
.padding()
}
}说明
何时使用 @StateObject
Last updated