【发布时间】:2021-12-30 13:21:08
【问题描述】:
我对 SwiftUI 很陌生,所以请保持温和。我正在尝试将状态变量的值传递给视图,并且我希望状态变量在 ForEach 循环内递增。这是不起作用的代码。 Text 语句使用本地 val 变量可以正常工作,但状态 val 变量保持不变。任何解决此问题的帮助将不胜感激。类似问题的解决方案似乎并不适用。
struct ContentView: View {
@State
var val: Int = 25
var body: some View {
VStack {
ForEach(Array(stride(from: 10, to: 100, by: 10)), id: \.self) { val in
HStack {
Text("\(val)")
SubView(val: $val)
}
}
}
}
}
struct SubView: View {
@Binding var val: Int
var body: some View {
Text("\(val)")
}
}
【问题讨论】:
-
这对你目前正在做的事情没有任何意义。你希望用你传入的
Binding做什么?你会用它做什么,这将如何影响ContentView?我看不到您将如何处理@State变量中的val。
标签: swift foreach swiftui view state