Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios &引用;下标使用不明确;新Swift更新后出错_Ios_Json_Swift - Fatal编程技术网

Ios &引用;下标使用不明确;新Swift更新后出错

Ios &引用;下标使用不明确;新Swift更新后出错,ios,json,swift,Ios,Json,Swift,我的项目以前运行良好,如果使用模拟器,仍然运行良好。但是,当我连接iPhone并尝试运行该项目时,我在这一行检索JSON信息时会遇到以下错误:“不明确地使用下标”: let channels = jsonResult["channels"]?[0] as? [String: AnyObject] 任何帮助补救这是感激的 编译器的类型限制似乎更严格 jsonResult[“channels”]的结果类型是AnyObject您必须通过检查值是否为数组来帮助编译器 if let channels

我的项目以前运行良好,如果使用模拟器,仍然运行良好。但是,当我连接iPhone并尝试运行该项目时,我在这一行检索JSON信息时会遇到以下错误:“不明确地使用下标”:

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

任何帮助补救这是感激的

编译器的类型限制似乎更严格

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
}