新的Swift更新后出现“模糊使用下标”错误

我的项目之前运行良好,如果使用模拟器仍然运行良好。 但是,当我连接一个iPhone,并尝试运行该项目时,我得到这个错误:“模糊使用下标”时,检索此行上的JSON信息:

let channels = jsonResult["channels"]?[0] as? [String: AnyObject] 

任何帮助,以补救这个赞赏!

编译器似乎是更多的types限制。

jsonResult["channels"]的结果types是AnyObject您必须通过检查作为数组的值来帮助编译器。

 if let channels = jsonResult["channels"] as? [AnyObject], channel = channels[0] as? [String: AnyObject] { // do something with channel } 

或者更安全地检查数组是否不为空

 if let channels = jsonResult["channels"] as? [[String:AnyObject]] where !channels.isEmpty { let channel = channels[0] // now the compiler knows it's [String:AnyObject] // do something with channel }