首页 > 解决方案 > 如何在 iOS Swift 中更新字典的值?

问题描述

var request: [String: Any] = [

    "Token": "Token",
    "Request": [
        "CityID": "CityID",
        "Filters": [
            "IsRecommendedOnly": "0",
            "IsShowRooms": "0"
        ]
    ]
]
//
print(request)

控制台输出:

["Token": "Token", "Request": ["CityID": "CityID", "Filters": ["IsRecommendedOnly": "0", "IsShowRooms": "0"]]]

在这里,我想将“IsShowRooms”键的值从值“0”更新为值“1”,我尝试了不同的步骤,但我无法这样做,有人可以帮我吗?

标签: swiftdictionary

解决方案


您可以通过将 Any 类型转换为其类型来获取值并将其值存储回来

if var requestVal = request["Request"] as? [String: Any], var filters = requestVal["Filters"] as? [String: String] {
    filters["IsShowRooms"] = "1"
    requestVal["Filters"] = filters
    request["Request"] = requestVal
}

输出

[“令牌”:“令牌”,“请求”:[“CityID”:“CityID”,“过滤器”:[“IsRecommendedOnly”:“0”,“IsShowRooms”:“1”]]]

或者

不要在 Dictionary 中存储值,而是创建一个结构。更新其属性会更容易


推荐阅读