我尝试在设备上编译,但是我收到此错误。有什么帮助吗?在模拟器中工作得很好。
我在下面的代码中使用了下标错误,并希望其他人遇到过这个并知道修复。
case .Success:
if response.response?.statusCode == 200 {
print ("Respuesta 200")
if let value = response.result.value {
let respuestaJSON = JSON(value)
let objsonUSUARIOS = respuestaJSON["d"].object
let arrayUsuarios = objsonUSUARIOS["results"]!
//print ("Usuarios: ",String(arrayUsuarios))
for i in 0 ..< arrayUsuarios!.count{
let boletines = boletinJSON()
if let item = arrayUsuarios![i] as? [String: AnyObject]{
)
if let person = item["Title"] as? String
{
boletines.name = person
}
if let person = item["Portada"] as? String
{
boletines.imagen = person
}
if let person = item["Created"] as? String
{
boletines.fecha = person
}
if let person = item["AttachmentFiles"] as? [String: AnyObject] {
if let itemAttach = person["__deferred"] as? [String: AnyObject]{
if let itemdeferred = itemAttach["uri"] as? String {
boletines.urldescarga = itemdeferred
}
}
}
self.boletin.append(boletines)
self.view.hideToastActivity()
}
}
}
self.tableView.reloadData()
// self.view.hideToastActivity()
}
答案 0 :(得分:3)
通知编译器中间对象objsonUSUARIOS
的类型为
let objsonUSUARIOS = respuestaJSON["d"].object
在上面的语句之后,编译器不知道他正在处理什么样的对象。因此,请确保您可以执行所有投射,如下所示
let objsonUSUARIOS = respuestaJSON["d"].object as! Dictionary
let arrayUsuarios = objsonUSUARIOS["results"]! as! Array
答案 1 :(得分:2)
问题是你没有指定对象的类型arrayUsuarios
是Array
,所以尝试显式类型转换arrayUsuarios
数组
let arrayUsuarios = objsonUSUARIOS["results"] as! [[String: AnyObject]]