SwiftUI Xcode 11 beta 7 @ Привязка к коллекциям ломает предварительный просмотр

Это работало до бета-версии 7. Кажется, что когда я хочу передать один элемент в коллекции в качестве привязки к другому представлению, предварительный просмотр прерывается

Я следил за примечаниями к выпуску, где говорится, что @Binding больше не соответствует протоколу сбора, а комментарии внизу

У меня есть Каталина и Xcode в бета-версии 7

родитель:

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)
    }
}

1 ответ

Примечания к выпуску имеют опечатку. Вам необходимо изменить:

var endIndex: Index { base.startIndex }

с участием

var endIndex: Index { base.endIndex }

Не знаю, это решено для вас? Если нет, возможно, это поможет:

struct ChildView: View {
    @Binding var myVariables: [SimpleStructure]

    var body: some View {
        List(myVariables.indices) { index in
            GrandChildView(myVariable: self.$myVariables[index])
        }
    }
}

Если решено, либо отметьте правильный ответ, либо предоставьте решение здесь самостоятельно, если вы, возможно, нашли его тем временем.

Проблема исправлена ​​в SwiftUI Beta 10.

Другие вопросы по тегам