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

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

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

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


当前回答

如果你想修改或更新NSDictionary那么 首先,将它类型转换为NSMutableDictionary

let newdictionary = NSDictionary as NSMutableDictionary

然后简单地使用

 newdictionary.setValue(value: AnyObject?, forKey: String)

其他回答

(字符串:任何)

对于使用[String:Any]而不是Dictionary下面是扩展名

extension Dictionary where Key == String, Value == Any {
    
    mutating func append(anotherDict:[String:Any]) {
        for (key, value) in anotherDict {
            self.updateValue(value, forKey: key)
        }
    }
}

如果你的字典是Int到String,你可以简单地做:

dict[3] = "efg"

如果你的意思是向字典的值中添加元素,一个可能的解决方案是:

var dict = Dictionary<String, Array<Int>>()

dict["key"]! += [1]
dict["key"]!.append(1)
dict["key"]?.append(1)

要将一个新的键-值对追加到字典中,您只需设置键的值。如。

// Initialize the Dictionary
var dict = ["name": "John", "surname": "Doe"]
 
// Add a new key with a value

dict["email"] = "john.doe@email.com"

print(dict)

输出——>“姓”:“母鹿”、“名称”:“约翰”,“电子邮件”:“john.doe.com”)

斯威夫特 3+

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

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

Swift 5快乐编码

var tempDicData = NSMutableDictionary()

for temp in answerList {
    tempDicData.setValue("your value", forKey: "your key")
}