如何在SwiftUI的结构中循环键



我很久以前做过XCode,现在回来学习SwiftUI。我正在尝试在HStack中呈现结构的数据。

结构如下所示:

struct Product: Hashable, Codable{
var column0: Int
var column1: String
var column2: String
var column3: String
var column4: String
}

在视图主体内部有这样的东西:

var pdt: Product
var body: some View {
HStack {
Text(pdt.column1)
Text(pdt.column2)
}
}

上面的内容会起作用,但我不想硬编码column1column2,因为列的数量会有所不同。如何将pdt用作字典并循环键,以便显示所有列?

非常感谢!

这里有一个可能方法的演示(对于这个简单的例子(-您可以反映属性并将它们映射到显示的值(对于自定义/复杂类型,这需要更多的努力,想法应该很清楚(。

var body: some View {
let columnValues = Mirror(reflecting: pdt)
.children.map { "($0.value)" }
return HStack {
ForEach(columnValues, id: .self) { Text($0) }
}
}

相关内容

  • 没有找到相关文章

最新更新