Ios 字典[String:String]键在转换为数组swift时顺序已更改
我有一本下面这样的字典Ios 字典[String:String]键在转换为数组swift时顺序已更改,ios,arrays,swift,dictionary,Ios,Arrays,Swift,Dictionary,我有一本下面这样的字典 var dataSource: [String: String] = ["FirstName": "Austin", "ListName": "Michael", "Address": "Street Address", "City": "Chennai"]
var dataSource: [String: String] = ["FirstName": "Austin",
"ListName": "Michael",
"Address": "Street Address",
"City": "Chennai"]
let dataArray = Array(dataSource.keys)
我想在UITableView
中填充这些值,因此我尝试将字典中的所有键
放入数组中,如下所示
var dataSource: [String: String] = ["FirstName": "Austin",
"ListName": "Michael",
"Address": "Street Address",
"City": "Chennai"]
let dataArray = Array(dataSource.keys)
我得到的输出是[String]
like
["LastName", "FirstName", "City", "Address"]
问题是,键的顺序已更改,我希望数组
的顺序与字典
的顺序相同
有人能帮忙吗?使用普通字典,因为tableview数据源是个坏主意
但是,字典
无法排序。因此,在字典中添加键值的顺序并不重要
如果需要排序,则使用字典数组
您应该使用模型,而不是易于维护的普通字典:]
像
struct User {
var firstName:String?
var lastName:String?
var address:String?
var city:String?
}
使用普通字典作为tableview数据源是个坏主意
但是,字典
无法排序。因此,在字典中添加键值的顺序并不重要
如果需要排序,则使用字典数组
您应该使用模型,而不是易于维护的普通字典:]
像
struct User {
var firstName:String?
var lastName:String?
var address:String?
var city:String?
}
字典没有按定义排序。字典没有按定义排序。实际上,我还有20个字段需要在Tableview中填充,这就是我尝试使用字典的原因。有什么简单的方法可以做到这一点吗?@AustinMichael如果你有超过20个字段,那么你应该使用struct。它最好使用键值。以及打字等。您可以根据现有数据填充该结构。你可以很容易地维护每一处房产。如果从JSONA中填充,也可以使用user Codable。实际上,我还有20个字段需要在Tableview中填充,这就是我尝试使用Dictionary的原因。有什么简单的方法可以做到这一点吗?@AustinMichael如果你有超过20个字段,那么你应该使用struct。它最好使用键值。以及打字等。您可以根据现有数据填充该结构。你可以很容易地维护每一处房产。如果您是从JSON填充的,那么您也可以使用户Codable