如何将字典放入嵌套在另一个字典中的数组中? (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
}
我想将一组词典添加到现有词典中。
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
}