swift - 如何在 iOS Swift 中更新字典的值?

标签 swift dictionary

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",我尝试了不同的方法步骤,但我无法这样做,有人可以帮我解决这个问题吗?

最佳答案

您可以通过将 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
}

输出

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

不是在字典中存储值,而是创建一个结构。更新它的属性会更容易

关于swift - 如何在 iOS Swift 中更新字典的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55879345/

相关文章:

ios - 从 TableView 行获取 ObjectId(解析)

ios - iOS 产品中双重直接代码包含的可能性

javascript - 数组的性能包括与映射到对象并在 JavaScript 中访问它

C++: map<wstring,wstring> 从第一个获取第二个

java - JdbcTemplate.queryforList() 返回值但 map.get 返回 null

C# 字典在另一个字典中使用 TValue

iphone - 在 iOS 应用程序中加入自定义单词词典

ios - Swift 核心音频学习资源

node.js - Swift POST 请求不工作

ios - .joined(分隔符:) in Swift 4/Xcode 9?