在 SwiftUI 中的 ForEach 中绑定

gur*_*gui 5 foreach binding swift swiftui fetchrequest

我使用 aFetchRequest来填充元素。然后我使用一个列表,并希望显示某种待办事项元素,您可以在其中看到哪些元素被选中,哪些元素未被选中。因此我创建了一个 CheckBoxView。

我现在的问题是,我需要将绑定传递给视图。但如何在 ForEach 中做到这一点呢?如果我有一个绑定,这对我来说很容易,我只需生成一个@State即可。这里该怎么做呢?

List {
    ForEach(elements, id: \.self) { item in
        CheckBoxView(checked: item.checked)
    }
}
Run Code Online (Sandbox Code Playgroud)

这是视图:

struct CheckBoxView: View {
    @Binding var checked: Bool
    ....
}
Run Code Online (Sandbox Code Playgroud)

Asp*_*eri 5

假设您的elements项目状态数组,它可以是

List {
    ForEach(elements.indices, id: \.self) { i in
        CheckBoxView(checked: $elements[i].checked)
    }
}
Run Code Online (Sandbox Code Playgroud)