我有一个类型[String:String]
的字典,想要将所有键都放入一个字符串数组中。
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方法的快速替换?)
答案 0 :(得分:1)
怎么样:
let keysArray = ortdict.keys.sort()
答案 1 :(得分: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”]