感谢这里的帮助,我基本上可以正常运行,但是我不确定如何使SwiftUI的PreviewProvider显示数组“ myDataModels”的内容的正确语法。
这是我所拥有的:
import SwiftUI
struct Overview: View {
var myDataModels: [MyDataModel]
var body: some View {
List {
ForEach(myDataModels) { model in
Section(header: Text("\(model.firstName) \(model.lastName)")) {
ForEach(model.cities, id: \.name) { (city: City) in
Section(header: Text(city.name).fontWeight(.bold)) {
ForEach(city.towns, id: \.name) { town in
Text(town.name)
}
}
}
}
}
}
}
}
哪个可以编译,但是我不确定在上述代码块正下方的PreviewProvider调用中引用myDataModels的正确方法是什么。这是我目前在那里的东西。
struct Overview_Previews: PreviewProvider {
static var previews: some View {
Overview(myDataModels: userData[0])
}
}
userData是对JSON文件的引用。但是我得到了错误:
Cannot convert value of type 'MyDataModel' to expected argument type '[MyDataModel]'
任何帮助我们最感激的事情。
答案 0 :(得分:0)
假设您已在某处定义了userData,就可以这样做
Overview(myDataModels: userData)
或者,如果您只想发送一个特定项目:
Overview(myDataModels: [userData[0]])
如果这不起作用,请发布您对userData的定义。