Menu
Coddy logo textTech

Przekazywanie danych

Część sekcji Wprowadzenie do SwiftUI ścieżki Swift w Coddy. Lekcja 36 z 50.

Ekran szczegółów to zazwyczaj osobna struktura widoku z właściwością przechowującą wyświetlane dane:

struct RecipeDetail: View {
    let recipe: Recipe

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

Swift zapewnia strukturze inicjalizator z parametrem dla każdej przechowywanej właściwości, więc RecipeDetail(recipe: pancakes) ją tworzy. Na liście każdy link przekazuje dane własnego wiersza:

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

Każdy wiersz otrzymuje link do ekranu szczegółów danego przepisu. Widok szczegółów nie musi w ogóle wiedzieć o liście.

challenge icon

Wyzwanie

Średni

Uzupełnij RecipeDetail: wyświetla Ready in 15 minutes (używając minutes przepisu) w tekście o identyfikatorze time i używa nazwy przepisu jako tytułu. Następnie spraw, aby każdy wiersz listy był elementem NavigationLink zatytułowanym nazwą przepisu, który otwiera RecipeDetail dla tego przepisu.

Spróbuj swoich sił

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wprowadzenie do SwiftUI

Poćwicz samodzielnie: Edytor online SwiftUI