SwiftUI:如何在ListView中使用绑定变量
我尝试使用ListView显示文本字段,用户可以在其中使用绑定变量输入名称。但我有个错误 此编码显示一个人工作:SwiftUI:如何在ListView中使用绑定变量,swiftui,Swiftui,我尝试使用ListView显示文本字段,用户可以在其中使用绑定变量输入名称。但我有个错误 此编码显示一个人工作: import SwiftUI struct Person { var firstName: String var lastName: String } class People: ObservableObject { @Published var people = [ Person(firstName: "Joe", lastName: &
import SwiftUI
struct Person {
var firstName: String
var lastName: String
}
class People: ObservableObject {
@Published var people = [
Person(firstName: "Joe", lastName: "Smith"),
Person(firstName: "George", lastName: "Todd"),
Person(firstName: "Emily", lastName: "Wallace"),
Person(firstName: "Jeffrey", lastName: "Dodd"),
Person(firstName: "Donny", lastName: "Joseph"),
Person(firstName: "Mark", lastName: "Ryan"),
Person(firstName: "Cindy", lastName: "Geller"),
Person(firstName: "Teresa", lastName: "Kelly"),
]
}
struct Basic: View {
@ObservedObject var people = People()
var body: some View {
VStack {
Text("My name is \(people.people[1].firstName) \(people.people[1].lastName)")
HStack {
TextField("First name", text: $people.people[1].firstName)
TextField("Last name", text: $people.people[1].lastName)
}
}
.padding()
}
}
但当我试图将这种编码编入一个列表时,我会出错。以下是我正在使用的编码:
struct Person {
var firstName: String
var lastName: String
}
class People: ObservableObject {
@Published var people = [
Person(firstName: "Joe", lastName: "Smith"),
Person(firstName: "George", lastName: "Todd"),
Person(firstName: "Emily", lastName: "Wallace"),
Person(firstName: "Jeffrey", lastName: "Dodd"),
Person(firstName: "Donny", lastName: "Joseph"),
Person(firstName: "Mark", lastName: "Ryan"),
Person(firstName: "Cindy", lastName: "Geller"),
Person(firstName: "Teresa", lastName: "Kelly"),
]
}
struct InListView: View {
@ObservedObject var people = People()
var body: some View {
List(people.people, id:\.firstName) { name in
VStack {
Text("My name is \(name.firstName) \(name.lastName)")
HStack {
TextField("First name", text: $name.firstName)
TextField("Last name", text: $name.lastName)
}
}
.padding()
}
}
}
错误发生在两个文本字段上。错误为“在作用域中找不到“$name”
如何在ListView中使用绑定变量
谢谢。这里有一个可能的解决方案
struct InListView:视图{
@ObservedObject var people=人()
var body:一些观点{
列表(0。。