我有一个简单的字典,它的定义如下:
var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]
现在我想在这个字典中添加一个元素:3:"efg"
我如何能追加3:“efg”到这个现有的字典?
我有一个简单的字典,它的定义如下:
var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]
现在我想在这个字典中添加一个元素:3:"efg"
我如何能追加3:“efg”到这个现有的字典?
当前回答
给出以下两本词典:
var dic1 = ["a": 1, "c": 2]
var dic2 = ["e": 3, "f": 4]
下面是如何添加从dic2到dic1的所有项:
dic2.forEach {
dic1[$0.key] = $0.value
}
其他回答
从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)
我添加了字典扩展
extension Dictionary {
func cloneWith(_ dict: [Key: Value]) -> [Key: Value] {
var result = self
dict.forEach { key, value in result[key] = value }
return result
}
}
你可以像这样使用克隆
newDictionary = dict.reduce([3 : "efg"]) { r, e in r.cloneWith(e) }
给出以下两本词典:
var dic1 = ["a": 1, "c": 2]
var dic2 = ["e": 3, "f": 4]
下面是如何添加从dic2到dic1的所有项:
dic2.forEach {
dic1[$0.key] = $0.value
}
在字典中没有附加数据的函数。您只需根据现有字典中的新键分配值。它将自动向字典中添加值。
var param = ["Name":"Aloha","user" : "Aloha 2"]
param["questions"] = "Are you mine?"
print(param)
输出是这样的
["名称":“阿罗哈”,“用户”:“阿罗哈2”,“问题”:“你是我的”吗?”)
您可以使用以下方式添加,并将Dictionary更改为NSMutableDictionary
dict["key"] = "value"