Menu
Coddy logo textTech

Transmission de données

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

Un écran de détails est généralement sa propre structure de vue avec une propriété contenant les données qu’il affiche :

struct RecipeDetail: View {
    let recipe: Recipe

    var body: some View {
        Text("Ready in \(recipe.minutes) minutes")
            .navigationTitle(recipe.name)
    }
}

Swift fournit à la structure un initialiseur avec un paramètre pour chaque propriété stockée, donc RecipeDetail(recipe: pancakes) la crée. Dans une liste, chaque lien transmet les données de sa propre ligne :

List(recipes) { recipe in
    NavigationLink(recipe.name) {
        RecipeDetail(recipe: recipe)
    }
}

Chaque ligne reçoit un lien vers un écran de détails pour sa recette. La vue détaillée n’a pas du tout besoin de connaître la liste.

challenge icon

Défi

Moyen

Termine RecipeDetail : il affiche Ready in 15 minutes (en utilisant les minutes de la recette) dans un texte portant l’identifiant time, et utilise le nom de la recette comme titre. Ensuite, transforme chaque ligne de la liste en un NavigationLink intitulé avec le nom de la recette, qui ouvre RecipeDetail pour cette recette.

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