Swiftui 无法与文本字段组合使用

Swiftui 无法与文本字段组合使用,swiftui,Swiftui,我正在尝试使用combine将数据传递到TextField。通过创建数据模型和使用ObserveObject,但当我在textField中使用它时,它会显示错误。无法将“String”类型的值转换为预期的参数类型“Binding”。我无法理解它 数据模型 struct People: Identifiable { var id = UUID() var name: String var amount: String } let peopleData = [ Pe

我正在尝试使用combine将数据传递到TextField。通过创建数据模型和使用ObserveObject,但当我在textField中使用它时,它会显示错误。无法将“String”类型的值转换为预期的参数类型“Binding”。我无法理解它

数据模型

struct People: Identifiable {
    var id = UUID()
    var name: String
    var amount: String
}

let peopleData = [
    People(name: "A",amount: ""),
    People(name: "B",amount: ""),
    People(name: "C",amount: "")
]

可观察对象

import Combine
class PeopleAllData: ObservableObject{
    @Published var peopleStore: [People] = peopleData
}
TextField

@ObservedObject var store = PeopleAllData()

                    List{

                        ForEach(store.peopleStore){ item in
                        HStack {
                            TextField("person Name", text: item.name) //Error:- Cannot convert value of type 'String' to expected argument type 'Binding<String>'

                            Button(action: {}) {
                                Image(systemName: "minus.circle")
                                    .foregroundColor(.red)
                            }
                        }
                            
                        }
                        
                        
                        
                    }
                    .frame(width: screen.width, height: screen.height)
@ObservedObject var store=PeopleAllData()
名单{
ForEach(store.peopleStore){item in
HStack{
TextField(“人名”,text:item.Name)//错误:-无法将“String”类型的值转换为预期的参数类型“Binding”
按钮(操作:{}){
图像(系统名称:“减号圆”)
.foregroundColor(.red)
}
}
}
}
.框架(宽度:屏幕宽度,高度:屏幕高度)

您需要通过
ObservedObject
绑定到数组元素,如下所示

ForEach(store.peopleStore.indices, id: \.self){ i in
    HStack {
        TextField("person Name", text: $store.peopleStore[i].name)


这回答了你的问题吗?你能不能也解释一下我做错了什么,为什么你的解决方案有效?