web-dev-qa-db-fra.com

Swift 3 Type 'Any' n'a pas de membre en indice

Je viens de convertir mon projet en Swift 3 J'ai cette ligne de code ici:

let type = self.data[indexPath.row]["Type"] as? String

mais maintenant je reçois cette erreur:

Type 'Any' has no subscript members

Pourquoi ai-je cette erreur et est-ce que je la répare?

8
user979331
let type = (self.data[indexPath.row] as? [String : String])?["Type"]

Vous devez convertir self.data[indexPath.row] dans un dictionnaire.

15
egor.zhdan

Votre data ou la valeur renvoyée lorsque vous l'indiquez, par exemple. data[0] a le type Any, que vous essayez d'indiquer.

Assurez-vous que le compilateur sait que tout ce que vous obtenez est un type connu qui prend en charge les indices. Comme et tableau ou dictionnaire par exemple.

0
jhabbott