J'ai un dictionnaire créé à partir de la lecture de données JSON et j'utilise ces noms de variables pour alimenter d'autres vues.
Donc j'ai var charFullDetail: charDetail
Cela renvoie un certain nombre de variables, mais les deux qui m'intéressent sont les suivantes : charFullDetail.cardFrontImage charFullDetail.cardBackImage
Ils contiennent des chaînes de caractères qui correspondent à une image enregistrée dans le catalogue des actifs.
Ma vue utilise ensuite ces variables pour afficher l'image.
Image(charFullDetail.cardFrontImage)
Cela fonctionne bien.
Ce que je veux faire, c'est transformer l'image ci-dessus en quelque chose de dynamique, de sorte que si l'on tape dessus ou si l'on appuie sur un bouton, l'image affiche le contraire.
Ainsi, si .cardFrontImage est affiché et que je touche l'image, je veux que l'image soit remplacée par Image(charFullDetail.cardBackImage
Je n'arrive pas à faire fonctionner le code qui fait cela. Je pensais créer une variable @State et l'utiliser dans la fonction Image() de sorte que si cette variable est modifiée, la fonction Image() soit mise à jour.
Mais si je le fais @State var card = "charFullDetail.cardFrontImage"
et ensuite essayer d'utiliser Image(card)
Il échoue car il ne peut pas trouver l'image, car il utilise la chaîne littérale comme une chaîne plutôt que de se référer à la valeur de cette variable - si cela a un sens.
En gros, comment puis-je remplacer l'utilisation de la référence charFullDetail.cardFrontImage par une variable à état, mais faire en sorte que la valeur soit toujours référencée et ne soit pas considérée comme la chaîne "charFullDetail.cardFrontImage" ?