2 votes

Utilisation ambiguë de l'"indice" sur le dispositif

J'ai terminé mon application sur mon émulateur, mais quand j'ai essayé de l'utiliser sur mon téléphone, j'ai eu 2 bugs Ambiguous use of 'subscript'

J'ai lu ce message, mais je n'arrive pas à le corriger. Comment résoudre l'ambiguïté de l'utilisation de l'indice dans Swift 2 ?

enter image description here

Le problème est là

        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
                    }

                }
            }

        }

Dans mon restacaRegistrosFavs j'ai lancé comme d'autres post, mais rien.

func rescataRegistrosFav() -> NSArray{

    //_____REPARARAQUI_______

    var array = [[String]]()

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

    return array
}

Comment résoudre ce problème ? Merci de votre compréhension.

1voto

somegeekintn Points 1536

Un NSArray est en fait un Array<AnyObject> Il y a donc probablement quelques types qui se conforment à la norme AnyObject qui implémentent également une fonction d'indice. Au lieu de déclarer rescataRegistrosFav comme renvoyant un NSArray essayez d'être plus précis et de le déclarer ainsi :

func rescataRegistrosFav() -> [[String]]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X