La For in Loop est une boucle qui passe à travers tous les éléments d’une séquence comme par exemple un Array ou un Dictionnaire, mais aussi une échelle de nombres, ou les caractères dans une String. C’est la plus simple à utiliser.
Pour l’utiliser dans un Array:

let listeDeCourses = [“Salade”, “Tomates”, “oignons”, “courgettes”, “tofu”, “quinoa”, “avocat”, “fromage 0%”]
for article in listeDeCourses {
    print(“article à acheter: ” + article)
} 

Nous pouvons voir la structure de la for in loop. Le mot clé for permet de donner une constante temporaire à chaque élément de l’array qui aura pour nom le nom donné après le for (ici article). Ensuite nous avons le mot clé in qui nous dit à travers quelle séquence nous devons passer en revue tous les éléments (ici notre array listeDeCourses). Ensuite, entre les accolades, nous définissons le code à effectuer sur chaque constante créée, chaque article de notre liste de cours dans notre cas.

Faisons la même chose pour un dictionnaire:

let dictForVegan = [“blanc de poulet”: false, “Tomates”: true, “oignons”: true, “quiche lorraine”: false, “tofu”: true, “quinoa”: true, “glace à l’italienne”: false, “gateau au chocolat”: false]
for (key, value) in dictForVegan {
    let reponse = value ? “est” : “n’est pas”
    print(key + ” “ + reponse + ” un plat végan”)
} 

Le Dictionnaire comprend une clé et une valeur, notre boucle retourne donc un tuple au lieu de retourner une simple constante. Nous avons nommé dans notre tuple les valeur key et value mais nous aurions pu les nommer comme nous voulons. Comme pour le for in avec un array, nous créons des valeurs temporaires associées à ces noms.

Avez vous remarqué que lors du run de la playground avec code les array étaient dans l’ordre mais pas les dictionnaires? Les éléments d’un array ont un index et les éléments d’un dictionnaire sont naturellement désordonnés et se récupèrent individuellement par leur clé (key).

Pour passer à travers toutes les lettres d’une String (tous les caractères plus précisément, les espaces, ponctuation et autres sont compris), il suffit de procéder comme pour un array. Si on y réfléchit bien , une phrase est une liste de caractères !

let phrase = “Salut les codeurs!”
for lettre in phrase {
    print(lettre)
}