除了Nirav D的答案;我覺得以下可能會有所幫助:
有一種方法updateValue(_:forKey:)
更新(或添加新的鍵值對,如果該鍵不存在)給定鍵的值。
所以,你的代碼應該是這樣的:
var array = [String:String]()
for i in 0...7 {
array.updateValue(String(i), forKey: String(i))
}
print(array)
// Output
["2": "2", "1": "1", "6": "6", "4": "4", "3": "3", "7": "7", "0": "0", "5": "5"]
斯威夫特總是驚人的,你可以定義+=
運營商,使其更容易。所以代碼如下:
// Defining += operator
func += <K, V> (inout left: [K:V], right: [K:V]) {
for (k, v) in right {
left.updateValue(v, forKey: k)
}
}
// Usage
var array = [String:String]()
for i in 0...7{
array += [String(i):String(i)]
}
print(array)
// Output
["2": "2", "1": "1", "6": "6", "4": "4", "3": "3", "7": "7", "0": "0", "5": "5"]
哈哈,你說得對,謝謝。 –
@ZzwTOM歡迎隊友:),請注意,這將給你的關鍵和值從0到7,如果你想1到8然後範圍應該是'1 ... 8' –
還要注意,因爲這是一本字典,不要期望打印字典的輸出與字典沒有排序後添加的順序相同。 – rmaddy