为什么@state在警报解除后被重置
在这里完成 SwiftUI 初学者。我正在查看这个示例,并试图了解@state变量的生命周期。
showingAlert初始化为false并true在点击按钮时设置为。我无法理解的部分是为什么它会false在警报解除时重置回?我没有将其设置为false 任何地方。
我希望它会留下来 true
@State private var showingAlert = false
var body: some View {
Button(action: { self.showingAlert = true }
) {
Text("Show Alert")
}
.alert(isPresented: $showingAlert) {
Alert(title: Text("Important message"))
}
}
回答
因为,根据定义,如果解除警报,则不再显示警报。$showingAlert是一个绑定——它在两个方向上移动数据。它的值总是与是否出现警报相关;这就是绑定的意思。