如何在表格中显示字典?

问题描述 投票:0回答:1

我想在 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 swiftui
1个回答
0
投票

Swift 中的 Dictionary 类型是无序的,因此不太适合填充表。

我建议将您的字典转换为符合可识别协议的结构数组。

我建议在初始化视图模型时这样做,而不是在构建表时“实时”对字典进行排序。排序是一个有点慢的过程。

© www.soinside.com 2019 - 2024. All rights reserved.