Passaggio dei dati
Fa parte della sezione Introduzione a SwiftUI del percorso Swift di Coddy. Lezione 36 di 50.
Una schermata di dettaglio è solitamente una propria struct di visualizzazione con una proprietà per i dati che mostra:
struct RecipeDetail: View {
let recipe: Recipe
var body: some View {
Text("Ready in \(recipe.minutes) minutes")
.navigationTitle(recipe.name)
}
}Swift fornisce alla struct un inizializzatore con un parametro per ogni proprietà memorizzata, quindi RecipeDetail(recipe: pancakes) la crea. In un elenco, ogni collegamento passa i dati della propria riga:
List(recipes) { recipe in
NavigationLink(recipe.name) {
RecipeDetail(recipe: recipe)
}
}Ogni riga riceve un link a una schermata di dettaglio della propria ricetta. La vista dei dettagli non deve sapere nulla dell’elenco.
Sfida
MedioCompleta RecipeDetail: mostra Ready in 15 minutes (usando minutes della ricetta) in un testo con l’identificatore time e usa il nome della ricetta come titolo. Poi trasforma ogni riga dell’elenco in un NavigationLink intitolato con il nome della ricetta, che apre RecipeDetail per quella ricetta.
Provalo tu
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Introduzione a SwiftUI
7Elenchi
Per ogni elementoElementi identificabiliElencoAggiungere elementiRiepilogo - Lista della spesa10Progetto - Coddy Coffee
Panoramica del progettoSchermate delle bevande2Mostrare contenuti
Viste di testoNumeri nel testoFontColoriSF SymbolsRiepilogo - Etichetta del prezzo5Stato e pulsanti
PulsantiLa proprietà @StateStato vero o falsoViste condizionaliRiepilogo - Segnapunti8Navigazione
NavigationStackNavigationLinkPassaggio dei datiFogli e avvisiRiepilogo - Guida alle pianteEsercitati da solo: Playground SwiftUI