获取nsdictionary的所有键在swift中按字母顺序排序?

时间:2015-08-06 05:29:54

标签: ios swift sorting key nsdictionary

我有一个字母表作为键的NSDictionary。我想按字母顺序排列这些键。我尝试了很多方法但是我在Sort()方法上遇到错误。谁能帮我 ????

提前致谢

注意:  1)我不想得到一个排序的字典数组  2)我不想通过值对字典进行排序 (我得到了很多答案)

3 个答案:

答案 0 :(得分:19)

您可以这样对键进行排序:

let dictionary: NSDictionary = ["a" : 1, "b" : 2]
let sortedKeys = (dictionary.allKeys as! [String]).sorted(<) // ["a", "b"]

斯威夫特3:

let dictionary: NSDictionary = ["a" : 1, "b" : 2]
let sortedKeys = (dictionary.allKeys as! [String]).sorted(by: <) // ["a", "b"]

答案 1 :(得分:3)

在Swift 2.2中

您可以在升序

中进行排序
let myDictionary: Dictionary = ["a" : 1, "b" : 2]
let sortedKeys = myDictionary.keys.sort()          // ["a", "b"]

降序

let myDictionary: Dictionary = ["a" : 1, "b" : 2]
let sortedKeys = myDictionary.keys.sort(>)        // ["b", "a"]

答案 2 :(得分:0)

适用于Swift 3

    // Initialize the Dictionary
let dict = ["name": "John", "surname": "Doe"]

// Get array of keys

var keys = Array(dict.keys).sorted(by: >)
print(keys)