ios - 字典 [字符串 : String] keys order changed when converted to array swift

标签 ios arrays swift dictionary

我有一个像下面这样的字典,

var dataSource: [String: String] = ["FirstName": "Austin",
                                    "ListName": "Michael",
                                    "Address": "Street Address",
                                    "City": "Chennai"]

我想在 UITableView 中填充这些值,因此我尝试将所有 keysDictionary 获取到 Array 如下所示,

let dataArray = Array(dataSource.keys)

我得到了 [String] 的输出,

["LastName", "FirstName", "City", "Address"]

问题是,键的顺序已经改变,我希望array的顺序与dictionary的顺序相同。

有人能帮忙吗?

最佳答案

使用普通字典作为 tableview 数据源是个坏主意。

但是 Dictionary 无法排序。因此,以什么顺序将键值添加到字典并不重要。

如果您需要排序,请改用字典数组。

你应该使用模型而不是易于维护的普通字典:]

喜欢

struct User {

    var firstName:String?
    var lastName:String?
    var address:String?
    var city:String?
}

关于ios - 字典 [字符串 : String] keys order changed when converted to array swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51335757/

相关文章:

ios - 如何在 xcode (iOS) 中堆叠、堆叠 View ,以便它们完全重叠并且都被限制在底部?

arrays - 向右旋转二维数组

PHP array_push() 不起作用,但 array[] 起作用,只是没有 SQL where 子句

javascript - 比较两个数组以检索值

ios - 当我们可以使用数组在 swift 中返回多个值时,为什么要使用元组

ios - Swift - 部分标题不显示

iOS:在后台运行应用程序并进行位置更新

ios - Firebase 收到无效的电子邮件错误消息

ios - SKStoreProductViewController 取消按钮崩溃或不工作

javascript 文件未加载并且 stringByEvaluatingJavaScriptFromString 也未执行?