Comme c’est mon premier message sur ce forum, j’en profite pour remercier Maxime pour ses cours très clairs !
Ce que je veux faire: lorsque j’appuie sur « Quizz », je souhaite ouvrir une nouvelle vue de type « WordView » avec un mot différent (aléatoire) à chaque fois.
Le code suivant ne marche pas. En cherchant sur internet, j’ai trouvé que c’était le comportement de swift, mais n’ai pas trouvé comment faire ce que je voulais !
C’est bien l’aspect aléatoire qui ne fonctionne pas; la vue WordView contient bien un mot aléatoire la première fois que j’utilise l’application; si je reviens à la vue d’origine, et que je reclique sur « Quizz » je me retrouve avec le même mot.
Je ne connais pas randomElement ? J’ai trouvé NSRandomSubElement. On devine ce que tu veux faire, mais bon, explique un peu sur quelle syntaxe te bases-tu ? C’est du SwiftUI, non ?
Comme je te l’ai dis plus haut, commence par vérifier le fonctionnement du tirage aléatoire.
Avec un code du genre :
if let mot = vocabularyManager.wordsArray.randomElement() {
print ("mot aléatoire : ", mot)
NavigationLink(destination: WordView(aWord:mot ) {
Text("Quizz") }
}
L’instruction print() est très pratique pour le débugage. Elle n’affecte pas le déroulement de l’application dans le simulateur ou le Device, et permet d’afficher des informations dans une fenêtre d’XCode.
A ton service. Cela m’a permis d’avancer dans ma compréhension de SwiftUI. Je ne suis qu’un noob pour le moment, avec cette nouvelle manière de créer des interfaces. Je pense toujours « UIKit », alors que c’est complètement différent. Chaque exercice comme celui-ci me fait progresser.