通过Swift 3中的字典循环错误

时间:2017-08-31 15:43:51

标签: dictionary swift3

我有一个字典,我声明如下:

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不符合序列协议

1 个答案:

答案 0 :(得分:0)

根据声明,dictBarData中的所有值均为Any

您必须将值转换为

let dictThisBar = dictBarData[key] as! [String:Any] 

但强烈建议使用可选绑定

if let dictThisBar = dictBarData[key] as? [String:Any] { ...
相关问题