swift从哪个方向开始阅读词典?

时间:2017-02-28 13:46:12

标签: swift dictionary

我想问的问题,swift从哪个方向开始阅读字典或数组

当我输入这样的代码时

let interestingNumber = [
    "Square": [1,4,9,16,25],
    "Prime": [2,3,5,7,11,13],
    "Fiboannci": [1,1,2,3,5,8],
    "asd":[2,3,4,5],
    "zxc":[3,4,5]
]

for (key,values) in interestingNumber{
    print(values)
}

输出

[1, 4, 9, 16, 25]
[2, 3, 5, 7, 11, 13]
[1, 1, 2, 3, 5, 8]
[3, 4, 5]
[2, 3, 4, 5]

这不是确切的顺序,所以你知道为什么swift会这样做吗?它有时也会有所不同!

我猜可能它是以字符串顺序执行的,然后我尝试了但我认为它不是,所以为什么swift会这样做?

1 个答案:

答案 0 :(得分:1)

就像NSDictionary一样,Swift词典不按键或值排序。订单将始终未指定。 如果你需要对键进行排序,你唯一的选择就是拥有一个有序键数组,并在这个数组上使用for循环。

来自Apple文档(https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID105

  

字典

     

字典存储相同类型的键之间的关联    没有定义排序 的集合中相同类型的值。每   value与唯一键相关联,该唯一键充当标识符   字典中的那个值。与数组中的项目不同,项目中的项目   字典没有指定的顺序。你何时使用字典   您需要根据其标识符查找值,大致相同   使用真实世界字典来查找定义的方式   一个特定的词。