该功能一直持续到beta 7为止。看来,当我想传递集合中的一个元素作为对另一个视图的绑定时,预览会崩溃。

我遵循发行说明,其中说@Binding不再符合收集协议comments are at the bottom

我在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])
        }
    }
}

孙子

struct GrandChildView: View {
    @Binding var myVariable:SimpleStructure
    var body: some View {
        Text(myVariable.label)
    }
}

更新:

Beta 8仍然是一个问题

最佳答案

发行说明有错字。您需要更改:

var endIndex: Index { base.startIndex }



var endIndex: Index { base.endIndex }

08-27 09:16