我有一个简单的字典,它的定义如下:

var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]

现在我想在这个字典中添加一个元素:3:"efg"

我如何能追加3:“efg”到这个现有的字典?


当前回答

在Swift中,如果你使用NSDictionary,你可以使用setValue:

dict.setValue("value", forKey: "key")

其他回答

从Swift 5开始,以下代码收集工作。

 // main dict to start with
 var myDict : Dictionary = [ 1 : "abc", 2 : "cde"]

 // dict(s) to be added to main dict
 let myDictToMergeWith : Dictionary = [ 5 : "l m n"]
 let myDictUpdated : Dictionary = [ 5 : "lmn"]
 let myDictToBeMapped : Dictionary = [ 6 : "opq"]

 myDict[3]="fgh"
 myDict.updateValue("ijk", forKey: 4)

 myDict.merge(myDictToMergeWith){(current, _) in current}
 print(myDict)

 myDict.merge(myDictUpdated){(_, new) in new}
 print(myDict)

 myDictToBeMapped.map {
     myDict[$0.0] = $0.1
 }
 print(myDict)

我知道这可能会很晚,但它可能会对某人有用。 因此,在swift中将键值对追加到字典中,你可以使用updateValue(value:, forKey:)方法,如下所示:

var dict = [ 1 : "abc", 2 : "cde"]
dict.updateValue("efg", forKey: 3)
print(dict)

在Swift中,如果你使用NSDictionary,你可以使用setValue:

dict.setValue("value", forKey: "key")

斯威夫特 3+

向Dictionary分配新值的示例。你需要声明它为NSMutableDictionary:

var myDictionary: NSMutableDictionary = [:]
let newValue = 1
myDictionary["newKey"] = newValue
print(myDictionary)

Swift 3 - xcode 8.1

var dictionary =  [Int:String]() 

dictionary.updateValue(value: "Hola", forKey: 1)
dictionary.updateValue(value: "Hello", forKey: 2)
dictionary.updateValue(value: "Aloha", forKey: 3)

所以,你的字典包含:

字典[1:Hola, 2: Hello, 3: Aloha]