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

时间:2016-03-26 17:32:50

标签: ios json swift

我的项目之前运行正常,如果使用模拟器仍然运行正常。但是,当我连接iPhone并尝试运行该项目时,我收到此错误:在此行上检索JSON信息时出现“不明确使用下标”:

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

任何帮助解决这个问题表示赞赏!

1 个答案:

答案 0 :(得分:1)

编译器似乎更具有类型限制。

jsonResult["channels"]的结果类型是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
}