Erreur sur mon Device mais pas sur le simulateur

Bonjour,

J’ai actuellement une erreur sur mon application quand je la lance sur mon iPhone (Iphone 11 pro ios 13.5), hors quand je lance l’appli sur le simulateur ou un autre iPhone (XS ios 14.1) tout fonctionne correctement.

Auriez vous une idée d’ou cela peut venir ?

Fatal error: ‹ try! › expression unexpectedly raised an error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: « numeroTgv », intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: « No value associated with key CodingKeys(stringValue: « numeroTgv », intValue: nil) (« numeroTgv »). », underlyingError: nil))

Merci a vous

D’une erreur dans le code, que nous avons besoin de voir pour un diagnostic !!

Bonjour,

En effet j’aurai du poster mon code :

Le voici :

Course.swift

courseviewModel.swift

resultView.swift

Je vois que celui sur lequel ça ne marche pas est en iOS 13.5, et que celui sur lequel ça marche est à jour, lui ; ne serait-ce pas ça ? J’dis ça, j’dis rien, je n’ai pas vu le code fautif…

1 « J'aime »

Salut @Alexanndre41

Apparement le « prix » n’est pas toujours renseigne vu qu’il est nil dans l’erreur.
Il faudrait probablement mettre un optionnel (var prix: Float?).

Très mauvaise idée de forcer le déballage du try avec try!, il vaut mieux gérer avec un guard let ou do catch, ce qui évitera aussi le .append(course!)…

Aussi, le CoddingKey « lieuxArrivé » avec un accent ? :face_with_monocle:

Cedric

var prix: Float?

mais aussi

var numero: String?

Salut :slight_smile:,

J’ai aussi testé sur le simulateur d’ios 13.5, cela fonctionne bien dessus, je pense donc pas que ça vienne de la version.

Salut @cedric06nice,

Durant mes tests, « prix » est toujours bien renseigné, de plus l’erreur devrais apparaitre, je pense, sur le simulateur et sur les autres device si le problème venait de la.

Le try! c’est vrai que c’est une mauvaise idée, je vais changer ça.

Le CodingKey c’est une erreur lors de la création de mon champ dans Firestore, ce sera modifié plus tard.

1 « J'aime »