gpt4 book ai didi

swiftui - 从 SwiftUI 中的另一个 View 设置 @State var

转载 作者:行者123 更新时间:2023-12-05 03:54:03 25 4
gpt4 key购买 nike

我正在尝试从 var b 的结构 B,但它不起作用。我需要使用 @State 变量,因为我将它作为绑定(bind)传递。例如:

struct A : View {
@State var myBindableVar = ""
var body : some View {
TextField(self.$myBindableVar) ...
}
}

struct B : View {
@State var a : A
var body : some View {
Button(action: { self.a.myBindableVar = "???" }) { ... }
}
}

myBindableVar 在点击按钮时未设置为 "???"。为什么?

最佳答案

您需要使用@Binding 来实现这一点。这是一些示例代码。我让 View B 出现在 View A 中,以便您可以直接在屏幕上看到工作结果:

struct A : View {
@State var myBindableVar = ""
var body : some View {
VStack {
Text(myBindableVar)
Spacer()
B(myBindableVar: $myBindableVar)
}
}
}

struct B : View {
@Binding var myBindableVar : String
var body : some View {
Button(action: { self.myBindableVar = "Text appears" }) {
Text("Press to change")
}
}
}

关于swiftui - 从 SwiftUI 中的另一个 View 设置 @State var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61335321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com