我想问的问题,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会这样做?
答案 0 :(得分:1)
就像NSDictionary一样,Swift词典不按键或值排序。订单将始终未指定。 如果你需要对键进行排序,你唯一的选择就是拥有一个有序键数组,并在这个数组上使用for循环。
字典
字典存储相同类型的键之间的关联 没有定义排序 的集合中相同类型的值。每 value与唯一键相关联,该唯一键充当标识符 字典中的那个值。与数组中的项目不同,项目中的项目 字典没有指定的顺序。你何时使用字典 您需要根据其标识符查找值,大致相同 使用真实世界字典来查找定义的方式 一个特定的词。