当我想将集合中的一个元素作为绑定传递到另一个视图时,预览就会中断。
我遵循了发布说明,其中说@Binding不再符合收集协议注释在底部。。
我在beta 7中有Catalina和xcode
父级:
struct SimpleStructure {
var label: String
}
struct ContentView: View {
@State private var myVariables = [SimpleStructure(label: "hello")]
var body: some View {
ChildView(myVariables: $myVariables)
}
}孩子
struct ChildView: View {
@Binding var myVariables: [SimpleStructure]
var body: some View {
List(myVariables.indexed(), id: \.1.label) {(index, variable) in
GrandChildView(myVariable: self.$myVariables[index])
}
}
}GrandChild
struct GrandChildView: View {
@Binding var myVariable:SimpleStructure
var body: some View {
Text(myVariable.label)
}
}更新:
贝塔8仍然是个问题
发布于 2019-10-07 12:54:29
这个问题在SwiftUI Beta 10中得到了解决。
发布于 2019-08-29 20:03:17
发行说明有一个错误。你需要改变:
var endIndex: Index { base.startIndex }使用
var endIndex: Index { base.endIndex }发布于 2019-09-07 20:14:13
不知道,这个能帮你解决吗?如果没有,也许这会有帮助:
struct ChildView: View {
@Binding var myVariables: [SimpleStructure]
var body: some View {
List(myVariables.indices) { index in
GrandChildView(myVariable: self.$myVariables[index])
}
}
}如果解决了,要么标记正确的答案,要么自己在这里提供一个解决方案,以防你在此期间找到一个答案。
https://stackoverflow.com/questions/57713928
复制相似问题