Passare dati alle view di dettaglio
Inviare l'elemento selezionato alla schermata successiva.
Passare dati alle view di dettaglio è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SwiftUI Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SwiftUI Academy include 4 lezioni in totale.
Le schermate di dettaglio richiedono dati
Una schermata di dettaglio è utile solo se sa quale elemento mostrare. Perciò, quando la aggiunge, passi direttamente alla nuova view l’elemento di dati selezionato. 📦
Passare i dati tramite l’inizializzatore
Il modo più chiaro per inviare dati è utilizzare l’inizializzatore della view di dettaglio. Memorizzi il valore in una property, quindi lo legga all’interno del body.
struct DetailView: View {
let title: String
var body: some View { Text(title) }
}Collegarlo nel link
Nella destination di NavigationLink, crei la view di dettaglio e passi il valore. L’elemento scelto arriva direttamente alla schermata successiva.
NavigationLink("Open") {
DetailView(title: "Welcome")
}Passare un intero modello
Non è limitato alle stringhe. Passi un’intera struct, così la schermata di dettaglio dispone subito di tutti i campi necessari.
struct Book { let title: String; let author: String }
DetailView(book: selectedBook)Iterare sui dati
All’interno di un ForEach può passare ogni elemento al relativo link, così ogni riga apre una view di dettaglio contenente proprio quell’elemento.
ForEach(books) { book in
NavigationLink(book.title) { DetailView(book: book) }
}I tipi valore vengono copiati in sicurezza
Poiché le struct sono value types, la view di dettaglio riceve una propria copia. Leggerla non può modificare accidentalmente l’elenco precedente.
Mostrare dettagli reali
Con il modello a disposizione, la view di dettaglio può mostrare qualsiasi cosa: titolo, autore, descrizione e persino testo calcolato a partire da quei campi.
var body: some View {
VStack {
Text(book.title).font(.title)
Text(book.author)
}
}Preferire il modello più recente
Per i link basati sui dati, colleghi un value e lasci che una navigationDestination decida quale view visualizzare. In questo modo il codice delle righe rimane breve e riutilizzabile.
NavigationLink(book.title, value: book)Fare corrispondere il tipo
Una navigationDestination gestisce un solo tipo di dati. SwiftUI esamina il tipo del valore aggiunto e lo inoltra al builder della destinazione corrispondente.
.navigationDestination(for: Book.self) { book in
DetailView(book: book)
}Mantenere focalizzate le view di dettaglio
Una view di dettaglio dovrebbe ricevere i dati, non recuperarli. Passare i dati dall’esterno mantiene la schermata riutilizzabile e facile da visualizzare in anteprima con valori di esempio.
Attenzione alla direzione
I dati fluiscono in avanti, verso il dettaglio. Per inviare in seguito le modifiche al componente padre, utilizzerà i binding, che verranno trattati in un corso futuro.
Verifica rapida
Qual è il modo più semplice per fornire a una view di dettaglio l’elemento da visualizzare?
Riepilogo: passare i dati
Ha passato l’elemento scelto alla view di dettaglio tramite il relativo inizializzatore, spesso come intera struct, così ogni schermata mostra esattamente il contenuto corretto. 🎯
Impara Swift con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Passare dati alle view di dettaglio» è gratuita?
Sì — il testo completo di «Passare dati alle view di dettaglio» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SwiftUI Academy, passa a CoddyKit PRO. Il corso SwiftUI Academy include 4 lezioni in totale.
Cosa imparerò in «Passare dati alle view di dettaglio»?
Inviare l'elemento selezionato alla schermata successiva. Eserciti SwiftUI Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare SwiftUI Academy?
Non è richiesta alcuna esperienza precedente. SwiftUI Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Passare dati alle view di dettaglio»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione SwiftUI Academy?
Sì. Ogni lezione SwiftUI Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Aprire schermate con NavigationLink
- Passare dati alle view di dettaglio
- Barra degli strumenti e titolo di navigazione
- Percorsi di navigazione programmatica