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.
Wyzwanie
ŚredniUzupeł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()
}
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wprowadzenie do SwiftUI
10Projekt – Kawiarnia Coddy
Przegląd projektuEkrany napojów2Wyświetlanie treści
Widoki tekstoweLiczby w tekścieCzcionkiKolorySF SymbolsPodsumowanie — metka z ceną5Stan i przyciski
PrzyciskiWłaściwość @StateStan prawda lub fałszWidoki warunkowePodsumowanie — licznik punktów8Nawigacja
NavigationStackNavigationLinkPrzekazywanie danychArkusze i alertyPodsumowanie — przewodnik po roślinach6Dane wejściowe użytkownika
Pole tekstowePrzełącznikPrzyciski krokowe i suwakSelektorPodsumowanie – formularz zamówieniaPoćwicz samodzielnie: Edytor online SwiftUI