【发布时间】:2021-12-26 14:07:37
【问题描述】:
我想将字典数组添加到现有字典中。
var details: [String : [String : String]] = [:]
viewDidLoad()
...
for i in 0..<count {
let hour = makeHourString()
details[hour] = [String: String] () as [String : String]
let dict = ["detailKey": "2100xx", "detailImage":"base64xx"]
details[hour].append(dict)
}
...
它告诉我:“[String : String]”类型的值没有成员“附加”。但是不应该是数组吗?
如果我将代码更改为,我可以获得这种嵌套字典:
var details: [String: [Any]] = [:]
viewDidLoad()
...
for i in 0..<count {
let hour = makeHourString()
details[hour] = [String] () as [String]
let dict = ["detailKey": "2100xx", "detailImage":"base64xx"]
details[hour].append(dict)
}
...
不幸的是,这对我不起作用,因为我需要能够使用 Codable 存储我的数据源。非常感谢任何帮助。
【问题讨论】:
-
for _ in 0..<count { details[makeHourString()] = ["detailKey": "2100xx", "detailImage":"base64xx"] } -
或者如果你想要一个数组
for _ in 0..<count { details[makeHourString()] = [["detailKey": "2100xx", "detailImage":"base64xx"]] } -
我喜欢您在索引中直接使用 makeHourString 方法的方式。出于某种原因,我对这样做很偏执。 :)
标签: arrays swift dictionary nested