我想在 SwiftUI
Table
中显示字典,如下所示。但与List
不同的是,Table
没有id参数,因此编译器会报错:
类型“字典
.Element”(又名“(键:字符串,值:字符串)”)无法符合“可识别”
@State var dic: [String : String] = [
"name" : "Tim",
"company" : "Apple"
]
Table(dic.map{$0}.sorted{ $0.key < $1.key }) {
TableColumn("Name") { item in
Text(item.key)
}
TableColumn("Value") { item in
TextField("", text: $item.value)
}
}
所以问题是如何让这里的元组符合
Identifiable
?
Swift 中的 Dictionary 类型是无序的,因此不太适合填充表。
我建议将您的字典转换为符合可识别协议的结构数组。
我建议在初始化视图模型时这样做,而不是在构建表时“实时”对字典进行排序。排序是一个有点慢的过程。