Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 字典[String:String]键在转换为数组swift时顺序已更改_Ios_Arrays_Swift_Dictionary - Fatal编程技术网

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