'subscript' 在设备上的使用不明确

Ambiguous use of 'subscript' on device

我的应用程序已在我的模拟器上完成,但是当我尝试在我的 phone 上使用时,我遇到了 2 个错误 Ambiguous use of 'subscript'

我正在阅读此 post,但无法修复它。 How to solve Ambiguous use of 'subscript' in Swift 2?

问题就在这里

        let favs = rescataRegistrosFav()
        print(favs)
        print("-----------------------------------------------")



        if(arrayCompleta[row][2] == ""){
            cell.imagenMovil.image = nil
        }else{
            cell.imagenMovil.image = UIImage(named: "mov.png")
        }


        if(favs.count > 0){


            for i in 0...favs.count-1
            {
                for j in 0...favs[i].count-1
                {

                    print("MUESTRO.....\(favs[i][j] as! String)")   //Ambiguous use of 'subscript'

                    if(favs[i][j] as! String == cell.getNombreCelda()){  ////Ambiguous use of 'subscript'
                        cell.botonFav.setImage(UIImage(named: imagenFav[1])!, forState: .Normal)

                        return cell
                    }



                }
            }


        }

在我的 restacaRegistrosFavs 中,我像其他人一样投射 post,但没有。

func rescataRegistrosFav() -> NSArray{

    //_____REPARARAQUI_______

    var array = [[String]]()

    if((NSUserDefaults.standardUserDefaults().arrayForKey("MIARRAYFAV")) != nil){
       return NSUserDefaults.standardUserDefaults().arrayForKey("MIARRAYFAV")! as! [[String]]
    }

    return array
}

我该如何解决这个问题?谢谢!

一个 NSArray 实际上是一个 Array<AnyObject> 所以可能有一些符合 AnyObject 的类型也实现了下标函数。不要将 rescataRegistrosFav 声明为返回 NSArray,而是尝试更具体地声明它:

func rescataRegistrosFav() -> [[String]]