簡體   English   中英

下標使用模棱兩可。 陣列Swift IOS

[英]Ambiguous use of subscript. Array Swift IOS

我嘗試在設備上編譯,但出現此錯誤。 有幫助嗎? 在模擬器中工作完美。

我在以下代碼中模糊地使用了下標錯誤,並希望其他人遇到此問題並知道解決方法。

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

通知編譯器中間對象objsonUSUARIOS的類型

let objsonUSUARIOS = respuestaJSON["d"].object

在上述語句之后,編譯器不知道他正在處理哪種對象。 因此,請確保您可以按照以下說明進行所有投射

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

問題是您尚未指定對象arrayUsuarios的類型為Array ,所以請嘗試顯式類型arrayUsuarios Array

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM