请使用JSON帮助了解SwiftUI json文件读取并打印,但是当您创建列表时,它仅读取第一个元素..我在做什么错???
struct ContentView: View {
var fetch = Fetch()
public var body: some View {
// Text(fetch.persons.description)
List(fetch.persons){ user in
Text(user.name)
}
}
}
答案 0 :(得分:0)
List
用于符合Identifiable
的对象,并且id
用于唯一地标识每个对象,这就是List
能够跟踪插入,删除的方式和编辑。
在您的情况下,id
是nil
,这会破坏它。
相反,请确保id
唯一地标识列表中的每个对象:
struct Foo: Identifiable {
var id = UUID()
// ...
}
var foos: [Foo]
List(foos) { foo in
// ...
}
或者,您需要为属性提供一个KeyPath,该属性可以充当唯一的ID(并且必须符合Hashable
),该属性可以是元素本身。
struct Foo: Hashable { }
var foos: [Foo]
List(foos, id: \.self) {
// ...
}