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.
Défi
FacileAfficher 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()
}
}
}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
4Modificateurs
Marge intérieureArrière-plansOrdre des modificateursCadres et formesRécapitulatif - Créateur de badges7Listes
Pour chaque élémentÉléments identifiablesListeAjouter des élémentsRécapitulatif - Liste de courses2Afficher du contenu
Vues de texteNombres dans le textePolicesCouleursSymboles SFRécapitulatif - Étiquette de prix5État et boutons
BoutonsLa propriété @StateÉtat vrai ou fauxVues conditionnellesRécapitulatif - Compteur de scoreEntraînez-vous par vous-même : Playground Swift