swift - 在设备上模糊使用 'subscript'

标签 swift device ambiguous

我的应用程序已在我的模拟器上完成,但当我尝试在我的手机上使用时,我遇到了 2 个错误 “下标”的使用不明确

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

enter image description here

问题就在这里

        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 中,我像其他帖子一样转换,但没有。

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]]

关于swift - 在设备上模糊使用 'subscript',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37140667/

相关文章:

c++ - 对成员 `...' 的请求在 g++ 中不明确

java - Java 如何处理潜在的不明确的方法调用?

swift - swift 2 中的异步错误处理

xcode - 我想创建第二个按钮,但它没有出现 - Xcode 6 Swift

c++ - 从 SetupDiGetClassDevs 获取设备接口(interface)

c++ - 在 C++ 中调用函数是不明确的。候选函数是原型(prototype)和函数本身

ios - 表刷新使数组项的数量加倍

ios - 将 Objective-C 代码转换为 Swift : okay to omit release calls?

Android Studio 上的 Android 虚拟设备错误

android - 通过以太网在设备上运行 Android 应用程序