斯威夫特:追加到字典中返回随机

时间:2018-07-11 11:24:43

标签: arrays swift xcode dictionary

我使用以下代码:

AppDelegate.monthList = [Int: String]()
for index in stride(from: 1, to: 12, by: 1) {
    AppDelegate.monthList[index] = "\(index)"
}

print("iosLog MONTH: \(AppDelegate.monthList)")

结果是:

  

iosLog MONTH:[11:“ 11”,10:“ 10”,2:“ 2”,4:“ 4”,9:“ 9”,5:“ 5”,6:   “ 6”,7:“ 7”,3:“ 3”,1:“ 1”,8:“ 8”]

Whay吗?!

我想分别添加键(例如PHPJava

1 个答案:

答案 0 :(得分:1)

因为Dictionary无序集合:

  

每本词典都是键值对的无序集合。

因此,如果您打算获取它的排序版本,则应-逻辑地-将其转换为有序集合,即数组。您可以获得:

AppDelegate.monthList键排序的数组:

let sortedkeys = AppDelegate.monthList.keys.sorted()
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

AppDelegate.monthList值排序的数组:

let sortedValues = AppDelegate.monthList.values.sorted()
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

或经过排序的元组数组,例如[(key, value)]

let sortedTuples = AppDelegate.monthList.sorted(by: <)

for tuple in sortedTuples {
    print("\(tuple.key): \(tuple.value)")
}