我有一个简单的字典,它的定义如下:
var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]
现在我想在这个字典中添加一个元素:3:"efg"
我如何能追加3:“efg”到这个现有的字典?
我有一个简单的字典,它的定义如下:
var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]
现在我想在这个字典中添加一个元素:3:"efg"
我如何能追加3:“efg”到这个现有的字典?
当前回答
到目前为止,我发现的最好的方法是通过使用Swift的高阶函数之一来将数据追加到字典中。“减少”。遵循以下代码片段:
newDictionary = oldDictionary.reduce(*newDictionary*) { r, e in var r = r; r[e.0] = e.1; return r }
@Dharmesh在你的情况下,
newDictionary = dict.reduce([3 : "efg"]) { r, e in var r = r; r[e.0] = e.1; return r }
请让我知道,如果你发现任何问题在使用上述语法。
其他回答
要将一个新的键-值对追加到字典中,您只需设置键的值。如。
// 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”)
(字符串:任何)
对于使用[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)
}
}
}
添加新元素只需设置:
listParameters["your parameter"] = value
如果你的字典是Int到String,你可以简单地做:
dict[3] = "efg"
如果你的意思是向字典的值中添加元素,一个可能的解决方案是:
var dict = Dictionary<String, Array<Int>>()
dict["key"]! += [1]
dict["key"]!.append(1)
dict["key"]?.append(1)
您可以使用以下方式添加,并将Dictionary更改为NSMutableDictionary
dict["key"] = "value"