下标的模糊使用。 Array Swift IOS

时间:2016-09-05 06:40:14

标签: ios arrays swift

我尝试在设备上编译,但是我收到此错误。有什么帮助吗?在模拟器中工作得很好。

我在下面的代码中使用了下标错误,并希望其他人遇到过这个并知道修复。

 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()
                }

2 个答案:

答案 0 :(得分:3)

通知编译器中间对象objsonUSUARIOS的类型为

let objsonUSUARIOS = respuestaJSON["d"].object

在上面的语句之后,编译器不知道他正在处理什么样的对象。因此,请确保您可以执行所有投射,如下所示

let objsonUSUARIOS = respuestaJSON["d"].object as! Dictionary
let arrayUsuarios = objsonUSUARIOS["results"]! as! Array

答案 1 :(得分:2)

问题是你没有指定对象的类型arrayUsuariosArray,所以尝试显式类型转换arrayUsuarios数组

let arrayUsuarios = objsonUSUARIOS["results"] as! [[String: AnyObject]]