Menu
Coddy logo textTech

Pour chaque élément

Fait partie de la section Introduction à SwiftUI du Journey Swift de Coddy. Leçon 29 sur 50.

ForEach crée une vue pour chaque élément d’une collection :

let fruits = ["Apple", "Banana", "Cherry"]

var body: some View {
    VStack {
        ForEach(fruits, id: \.self) { fruit in
            Text(fruit)
        }
    }
}

La closure reçoit chaque élément et renvoie sa vue. SwiftUI a besoin d’un moyen de distinguer les lignes, elle demande donc un id. id: \.self utilise la valeur elle-même, ce qui fonctionne lorsque chaque élément est différent.

Une plage de nombres fonctionne également, sans id :

ForEach(1..<4) { number in
    Text("Row \(number)")
}

Cela affiche Row 1, Row 2 et Row 3 : 1..<4 s’arrête avant 4.

challenge icon

Défi

Facile

Afficher le menu : à l’intérieur de VStack, utilise ForEach pour créer un Text pour chaque boisson dans drinks, dans l’ordre.

Essayez vous-même

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Introduction à SwiftUI

Entraînez-vous par vous-même : Playground Swift