• 15 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Créez et utilisez vos tableaux

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

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.

Voici un peu d'amour pour vous donner du courage ❤️!
Voici un peu d'amour pour vous donner du courage ❤️ !

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 créer donc 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 Lagarfeld", "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 Lagarfeld", "la Scarlett Johansson"]

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

class ViewController: UIViewController {
    var celebrities = ["le Steve Jobs", "le Zinedine Zidane", "la Madonna", "le Karl Lagarfeld", "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 à l'index 1

  • Le troisième à 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

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 a un nom barbare :  arc4random_uniform.

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

arc4random_uniform(6)

Dans notre cas, la valeur maximale devra être l'index du dernier élément de notre liste. Soit le nombre d'éléments dans notre tableau moins un. En effet si un tableau a quatre éléments, le quatrième et donc dernier élément a pour index 3 donc bien 4-1.

Pour obtenir, le nombre d'éléments dans un tableau, il faut accéder à la propriété count. Comme toute propriété, on fait cela en utilisant le point : 

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 = arc4random_uniform(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 arc4random_uniform.

  • 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 = arc4random_uniform(celebrities.count)
    var celebrity = celebrities[randomIndex1]
    print(celebrity)
    
    // On séléctionne un élément aléatoire parmi les activités
    var randomIndex2 = arc4random_uniform(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.

Exemple de certificat de réussite
Exemple de certificat de réussite