SwiftUI Academy · Lezione

Dallo stato della vista a una classe modello

Estragga i dati condivisi in una classe.

Lezione 1 di 413 passaggi

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à. ✨

Gratis per iniziare

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

  1. Dallo stato della vista a una classe modello
  2. La macro @Observable
  3. @State per gli oggetti posseduti
  4. Condividere i modelli tramite @Environment
← Torna a SwiftUI Academy