如何将字典放入嵌套在另一个字典中的数组中? (Swift)

How Can I Put a Dictionary Inside An Array That's Nested In Another Dictionary? (Swift)

我想将一组词典添加到现有词典中。

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]' 类型的值没有成员'append.'但是不应该因为它是一个数组吗?

如果我将代码更改为:

,我可以获得这种嵌套字典
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 存储我的数据源。非常感谢任何帮助。

这个[String : String]Dictionary不是Array,根据你的情况需要

var details: [String: [[String:String]]] = [:]

当然你也可以这样做

var details: [String:[Item]] = [:]

struct Item {
   let detailKey, detailImage:String
}