2015-11-10 49 views
1

我有一個類型爲[String:String]的字典,並且想要將所有的鍵都請求到一個字符串數組中。然後將mydict.keys轉換爲數組

ortdict = [ 
    "aaa": "eins", 
    "bbb": "zwei", 
    "ccc": "drei" 
] 
let mykeys = ortdict.keys 
print("\nkeys:", mykeys) 

打印輸出是:

keys: LazyMapCollection<Dictionary<String, String>, String>(_base: ["aaa": "eins", "bbb": "zwei", "ccc": "drei"], _transform: (Function))

這不是我想要的,但我不能找到產生我的鑰匙陣列的方法。我是否必須自己編寫此方法(作爲NSDictionary的以前的allkeys-method的快速替換)?

回答

1

如何:

let keysArray = ortdict.keys.sort() 
0

使用Array初始化到LazyMapCollection變換到一個數組:

let mykeys = Array(ortdict.keys) 

print("\nkeys:", mykeys) 

打印:

鍵:[ 「BBB」, 「AAA」, 「CCC」]

請注意,Swift Dictionary是一個無序集合。如果你想要的按鍵排列,結果數組排序,而不是分類字典本身:

let mykeys = Array(ortdict.keys).sort() 

結果:

鍵: 「AAA」, 「BBB」, 「CCC」]