2017-08-31 42 views
-1

我有聲明,像這樣的字典:通過字典中夫特3 errror循環

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不符合協議順序。類型任何不符合序列協議

回答

0

根據聲明dictBarData的所有值是Any

您必須向下投價值

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

然而,強烈建議使用可選的綁定

if let dictThisBar = dictBarData[key] as? [String:Any] { ...