Swift 3:错误:类型’Any’没有下标成员

我更新到Swift 3,我收到此错误,我无法解决它。

类型“任何”没有下标成员

我已经读过答案了:

39480150 – 38956785 – 39516199

但我无法用答案解决我的问题。

这是我的代码:

let pathperdataselezionata = Bundle.main.path(forResource: "Annuale", ofType: "plist") let dictperdataselezionata = NSDictionary(contentsOfFile: pathperdataselezionata!) as![String:AnyObject] let valoridataodierna = dictperdataselezionata[annoscelto]?[mesescritto]?![daymonth?] as? [Double] let Grad = Int(valoridataodierna![0]) let Ampo:Double = valoridataodierna![1] 

我收到了错误:

 let valoridataodierna 

任何帮助都非常感谢。

谢谢。

试试这样吧。

 let dictperdataselezionata = NSDictionary(contentsOfFile: pathperdataselezionata!) as! [String:[String:[String:AnyObject]]] let valoridataodierna = dictperdataselezionata[annoscelto]?[mesescritto]?![daymonth?] as? [Double] 

看起来Apple的建议是使用大量变量,请参阅: 在Swift中使用JSON 。

 if let pathperdataselezionata = Bundle.main.path(forResource: "Annuale", ofType: "plist"), let dictperdataselezionata = NSDictionary(contentsOfFile: pathperdataselezionata) as? [String: Any], let dictAnnoscelto = dictperdataselezionata[annoscelto] as? [String: Any], let dictMesescritto = dictAnnoscelto[mesescritto] as? [String: Any], let daymonth = daymonth, let valoridataodierna = dictMesescritto[daymonth] as? [Double] { let Grad = Int(valoridataodierna[0]) let Ampo:Double = valoridataodierna[1] }