一尘不染

如何在Swift中合并两个Dictionary实例?

swift

如何使用将一个附加Dictionary到另一个?Dictionary``Swift

我正在使用AlamoFire图书馆发送JSONREST server

字典1

var dict1: [String: AnyObject] = [
        kFacebook: [
            kToken: token
        ]
    ]

字典2

var dict2: [String: AnyObject] = [
        kRequest: [
            kTargetUserId: userId
        ]
    ]

如何将两个字典结合在一起,制作一个新字典,如下所示?

let parameters: [String: AnyObject] = [
        kFacebook: [
            kToken: token
        ],
        kRequest: [
            kTargetUserId: userId
        ]
    ]

我已经尝试过,dict1 += dict2但是出现了编译错误:

二进制运算符’+ =’不能应用于两个’[String:AnyObject]’操作数


阅读 542

收藏
2020-07-07

共1个答案

一尘不染

var d1 = ["a": "b"]
var d2 = ["c": "e"]

extension Dictionary {
    mutating func merge(dict: [Key: Value]){
        for (k, v) in dict {
            updateValue(v, forKey: k)
        }
    }
}

d1.merge(d2)

请参阅很棒的Dollar&Cent项目
https://github.com/ankurp/Cent/blob/master/Sources/Dictionary.swift

2020-07-07