Menu
Coddy logo textTech

Daten übergeben

Teil des Abschnitts Einführung in SwiftUI der Swift-Journey von Coddy. Lektion 36 von 50.

Ein Detailbildschirm ist normalerweise seine eigene View-Struktur mit einer Eigenschaft für die Daten, die sie anzeigt:

struct RecipeDetail: View {
    let recipe: Recipe

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

Swift stellt der Struktur einen Initialisierer mit einem Parameter für jede gespeicherte Eigenschaft bereit, sodass RecipeDetail(recipe: pancakes) sie erstellt. In einer Liste übergibt jeder Link die Daten seiner eigenen Zeile:

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

Jede Zeile erhält einen Link zu einem Detailbildschirm für ihr Rezept. Die Detailansicht muss überhaupt nichts über die Liste wissen.

challenge icon

Aufgabe

Mittel

Vervollständige RecipeDetail: Es zeigt Ready in 15 minutes (unter Verwendung von minutes des Rezepts) in einem Text mit der Kennung time an und verwendet den Namen des Rezepts als Titel. Mache anschließend jede Listenzeile zu einem NavigationLink, der mit dem Namen des Rezepts betitelt ist und RecipeDetail für dieses Rezept öffnet.

Probier es selbst

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Einführung in SwiftUI

Übe selbstständig: Swift-Playground