我有一个字母表作为键的NSDictionary。我想按字母顺序排列这些键。我尝试了很多方法但是我在Sort()方法上遇到错误。谁能帮我 ????
提前致谢
注意: 1)我不想得到一个排序的字典数组 2)我不想通过值对字典进行排序 (我得到了很多答案)
答案 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)