• 8 hours
  • Easy

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 5/24/22

Créez et utilisez vos tableaux

Poursuivons notre merveilleuse petite liste de tâches pour écrire la logique de notre application :

  1. Nous allons apprendre à modifier le texte du label.

  2. Nous allons créer nos tableaux.

  3. Nous allons sélectionner un élément aléatoire dans chaque tableau.

  4. Nous allons les combiner pour créer notre phrase.

La première tâche est faite et nous allons dans ce chapitre nous attaquer aux points 2 et 3.

Créons les tableaux

 Nous devons maintenant créer les deux tableaux qui vont contenir les noms des célébrités d'une part (Steve Jobs, etc.) et les activités de l'autre (raclette party, etc.).

Pour cela, il nous faut savoir ce qu'est un tableau en programmation. Un tableau est un objet qui peut contenir 0, 1 ou plusieurs variables

Dans notre cas, nous allons donc créer deux tableaux. Pour créer un tableau, il suffit d'utiliser les crochets   [ ]  et de séparer les éléments par des virgules comme ceci :

[element1, element2, element3]

On écrit donc dans notre cas :

["le Steve Jobs", "le Zinedine Zidane", "la Madonna", "le Karl Lagerfeld", "la Scarlett Johansson"]

Et voilà, nous avons un tableau ! Pour pouvoir le réutiliser plus tard, et notamment accéder à ses éléments, nous allons le stocker dans une variable nommée  celebrities. Vous savez maintenant déclarer une variable :

var celebrities = ["le Steve Jobs", "le Zinedine Zidane", "la Madonna", "le Karl Lagerfeld", "la Scarlett Johansson"]

Faisons la même chose avec les activités. Votre contrôleur doit maintenant ressembler à :

class ViewController: UIViewController {


var celebrities = ["le Steve Jobs", "le Zinedine Zidane", "la Madonna", "le Karl Lagerfeld", "la Scarlett Johansson"]
 

var activities = ["du dancefloor", "du barbecue", "de la surprise ratée", "des blagues lourdes", "de la raclette party"]

 

   @IBOutlet weak var quoteLabel: UILabel!

 
   @IBAction func changeQuote() {


quoteLabel.text = "Le texte du label est modifié !"

}

}

Sélectionner un élément aléatoire dans chaque tableau

On va diviser la tâche en 2 :

  1. Sélectionner un élément.

  2. Sélectionner un élément aléatoire.

1. Sélectionner un élément

Pour comprendre comment on sélectionne un élément, il faut comprendre plus précisément comment fonctionne un tableau.

Un tableau, c'est une liste d'éléments ordonnée. Cela veut dire qu'à chaque élément est associé un numéro. Ce numéro, on l'appelle l'index.

  • Le premier élément est à l'index 0.

  • Le deuxième est à l'index 1.

  • Le troisième est à l'index 2.

  • Etc.

On accède aux éléments d'un tableau par leur index. On va donc dire à l'ordinateur : "Donne-moi l'élément à l'index numéro 2". Pour cela, il suffit d'adopter la syntaxe suivante :

celebrities[2] // L'ordinateur renvoie : "la Madonna"

On spécifie l'index que l'on souhaite après le nom de la variable et entre crochets  [ ]. Ici, on demande l'élément à l'index 2 (donc en troisième position) soit : "la Madonna" pour notre tableau.

Vous pouvez tester cela en utilisant la fonction  print. Par exemple, rajoutez cela dans la fonction changeQuote:

print(celebrities[2])

Lancez l'application, cliquez sur le bouton "ET MOI ?" et vous devriez voir apparaître dans la console :

la Madonna

2. Sélectionner un élément aléatoire

Maintenant que l'on sait comment sélectionner un élément, voyons comment en prendre un au hasard dans la liste. Une idée ?

Il nous faut générer un index aléatoire ! Et ensuite il n'y aura plus qu'à accéder à l'élément à l'index aléatoire généré.

Pour cela, il existe une fonction qui nous permet de générer un nombre aléatoire.

Elle s’appelle random (aléatoire en anglais) et est liée au type de donnée que nous voulons générer, ici un entier donc un  Int.

Pour utiliser cette fonction, il faut lui préciser une valeur minimale et une valeur maximale N et la fonction générera un nombre aléatoire entre la valeur minimale et N-1. Par exemple : si l’on veut un nombre entre 0 et 4, il faudra écrire :

Int.random(in: 0..<5)

Dans notre cas, la valeur maximale devra être le nombre d’éléments dans notre tableau. Et pour obtenir ce nombre, il faut accéder à la propriété count. Comme toute propriété, on fait cela en utilisant le point comme ceci :

celebrities.count // L'ordinateur renvoie : 5

On a la fonction, on a la valeur maximale. Donc on peut obtenir maintenant un index aléatoire en faisant :

var randomIndex =  Int.random(in: 0..<celebrities.count)

En détail :

  • Je récupère le nombre de célébrités avec  celebrities.count.

  • Puis je l'utilise comme valeur maximale pour ma fonction  Int.random.

  • J'assigne le résultat à la variable  randomIndex

Maintenant que nous avons un index aléatoire, il ne reste plus qu'à récupérer l'élément correspondant dans le tableau :

var randomCelebrity = celebrities[randomIndex]

En appliquant cette logique au tableau des activités, notre code devient :

@IBAction func changeQuote() {


// On séléctionne un élément alétoire parmi les célébrités

var randomIndex1 = Int.random(in: 0..<celebrities.count)

var celebrity = celebrities[randomIndex1]

print(celebrity)


// On séléctionne un élément aléatoire parmi les activités

var randomIndex2 = Int.random(in: 0..<activities.count)

var activity = activities[randomIndex2]

print(activity)


// On modifie le texte

quoteLabel.text = "Le texte du label est modifié !"

}

Vous pouvez maintenant tester l'application et voir dans la console les célébrités et les activités aléatoires apparaître.

En résumé

  • Un tableau est un objet qui permet de stocker 0, 1 ou plusieurs variables.

  • Pour créer un tableau, il faut utiliser les crochets et séparer les éléments par des virgules comme ceci :

var tableau = [element1, element2, element3]
  • Pour accéder aux éléments d'un tableau, on utilise l'index avec la syntaxe suivante :

var monElement = monTableau[4]

Pour obtenir le nombre d'éléments dans un tableau, on utilise la propriété  count.

 Dans le chapitre suivant, nous allons voir comment résoudre nos erreurs et finir l'application.

Example of certificate of achievement
Example of certificate of achievement