Dallo stato della vista a una classe modello
Estragga i dati condivisi in una classe.
Dallo stato della vista a una classe modello è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 1 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.
Oltre i limiti di @State
Quando una schermata contiene molti valori @State, la view inizia a gestire contemporaneamente dati e interfaccia. Con la crescita della schermata, questa combinazione diventa rapidamente difficile da gestire. 🤔
Cosa contiene un model
Un model è un oggetto semplice che contiene i dati e le relative regole, separato dall'aspetto degli elementi sullo schermo.
Una semplice classe model
Inizi spostando i valori correlati in un'unica class, così rimangono insieme in un unico punto ordinato.
class Counter {
var count = 0
}I metodi contengono la logica
Inserisca il comportamento accanto ai dati tramite i metodi, così la view chiede semplicemente al model di agire invece di svolgere direttamente il lavoro.
class Counter {
var count = 0
func increment() { count += 1 }
}Perché una class e non una struct
Una class è un tipo riferimento, quindi ogni view che condivide la stessa istanza vede esattamente gli stessi dati, non una propria copia privata.
Le view restano essenziali
Con la logica nel model, il body della view si riduce soprattutto al layout. Una view essenziale è molto più facile da leggere e modificare in seguito.
Un'unica fonte di verità
Conservare i dati nel model offre un'unica fonte di verità, così le schermate non mostrano mai valori correnti diversi.
Riutilizzare il model
Poiché il model è indipendente da qualsiasi view, può riutilizzarlo in diverse schermate o persino nei test.
Conservarlo in una view
Una view può creare e conservare un'istanza del model come proprietà, pronta a leggerne i valori e chiamare i suoi metodi.
struct CounterView: View {
let model = Counter()
var body: some View { Text("Count") }
}L'elemento mancante
Finora la view può leggere il model, ma non si aggiornerà ancora quando cambiano i dati. Risolveremo il problema con l'observation nella prossima parte.
Separazione delle responsabilità
Questa divisione si chiama separazione delle responsabilità: la view mostra, il model decide. Ogni parte ha un compito ben definito.
Verifica rapida
Ha spostato i dati in una class. Una domanda rapida sul motivo.
Riepilogo
Ha imparato a spostare dati e logica fuori da una view, inserendoli in una class model, per mantenere le view essenziali e offrire all'app un'unica fonte di verità. ✨
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 «Dallo stato della vista a una classe modello» è gratuita?
Sì — il testo completo di «Dallo stato della vista a una classe modello» è 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 «Dallo stato della vista a una classe modello»?
Estragga i dati condivisi in una classe. 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 1 di 4.
Quanto tempo richiede la lezione «Dallo stato della vista a una classe modello»?
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
- Dallo stato della vista a una classe modello
- La macro @Observable
- @State per gli oggetti posseduti
- Condividere i modelli tramite @Environment