swift - 如何在 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”,我尝试了不同的步骤,但我无法这样做,有人可以帮我吗?
解决方案
您可以通过将 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 中存储值,而是创建一个结构。更新其属性会更容易
推荐阅读
- c# - 适用于所有 Android 移动设备的所有纵横比的 Unity 缩放
- hibernate-mapping - 在 Hibernate 中映射 2 个具有相同结构的表
- python - 使用 sqlalchemy `session` 对象进行批量插入和更新
- cucumber - 如何在testng runner类的特征标签中一一执行特征文件中提到的顺序
- mysql - 在子查询mysql中使用父查询的id列
- xmpp - 无法在 ejabberd-18-06 上处理自定义 iq
- android - 用于在 Android 应用中调试和发布的分析属性
- react-native - 在本机反应中选择时如何更改列表项背景颜色?
- android - 为什么“doOnError”在“err->{}”没有传递给“subscribe()”方法之前不起作用
- algorithm - 我如何理解hackerrank中一个问题的具体解决方案?