我有一个字典,我声明如下:
var dictBarData = [String: Any]()
然后我声明并填充第二个字典,然后将第二个字典添加到第一个字典:
var dictThisBar = [String:Any]()
dictThisBar["category"] = category
dictThisBar["barValue"] = value
dictThisBar["barView"] = vThisBar
dictBarData[String(barIndex)] = dictThisBar
当我去检索它们时,我这样做:
for (key, value) in dictBarData {
let dictThisBar = dictBarData[key]
for(key, value) in dictThisBar {
}
}
但是我在第二个for循环上遇到错误,类型Any不符合协议序列。类型Any不符合序列协议
答案 0 :(得分:0)
根据声明,dictBarData
中的所有值均为Any
。
您必须将值转换为
let dictThisBar = dictBarData[key] as! [String:Any]
但强烈建议使用可选绑定
if let dictThisBar = dictBarData[key] as? [String:Any] { ...