Связывание в ForEach в SwiftUI

Я использую FetchRequestдля заполнения элементов. Затем я использую список и хочу отобразить какие-то элементы todo, где вы видите, какой из них отмечен, а какой нет. Поэтому я создал CheckBoxView.

Моя проблема сейчас в том, что мне нужно передать привязку к представлению. Но как это сделать в ForEach? Если у меня есть одна привязка, это легко для меня, я просто создаю @Stateи это работает. Как это сделать здесь?

List {
    ForEach(elements, id: \.self) { item in
        CheckBoxView(checked: item.checked)
    }
}

Вот вид:

struct CheckBoxView: View {
    @Binding var checked: Bool
    ....
}

1 ответ

Решение

Предполагая, что ваш elements состояние массива элементов, это может быть

List {
    ForEach(elements.indices, id: \.self) { i in
        CheckBoxView(checked: $elements[i].checked)
    }
}
Другие вопросы по тегам