Связывание в 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)
}
}