如何快速向字典添加新键?

Pra*_*bhu 2 dictionary nsdictionary swift swift2

如何Dictionary在 Swift 中向 a 添加新键?我收到一个错误:

此类不符合键地址的键值编码...

这是我的代码:

let user = [
     "id": id,
     "name" : name
]

if customer.address != nil {
    let address = [
         "street": customer.address.street,
         "zip": customer.address.zip,
    ]

    user.setValue(address, forKey: "address")
}
Run Code Online (Sandbox Code Playgroud)

更新代码:

var user = [
            "id": customer.id,
            "name" : customer.fullName!,
            "position" : customer.position != nil ? customer.position! : ""
        ]

        if customer.address != nil {
            let address = [
                "street": customer.address!.street,
                "zip":   customer.address!.zip
            ]

            user["address"] = address
        }
Run Code Online (Sandbox Code Playgroud)

Sah*_*hil 6

问题是您试图在字典中添加不同类型的值。如果要添加不同类型的值,请使用Any. Any可以表示任何类型的实例。

例如:

var user: [String: Any] = [
  "id": "dd",
  "name" : "ddd"
]

let address = ["street": "ss","zip": "124115"]

user["address"] = address
Run Code Online (Sandbox Code Playgroud)