SwiftUI Academy · Lezione

Definire i tipi @Model

Annoti le classi come modelli persistenti.

Lezione 1 di 413 passaggi

Definire i tipi @Model è 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.

Conosciamo SwiftData

SwiftData è il modo moderno di Apple per salvare i dati dell’app direttamente sul dispositivo. Descrive i dati una sola volta e SwiftData gestisce la memorizzazione al posto Suo. 💾

La macro @Model

Trasforma una semplice classe in un tipo persistente aggiungendo la macro @Model sopra di essa. Questa singola riga rende persistente ogni istanza.

@Model
class Task {
}

Proprietà memorizzate

Ogni proprietà memorizzata di una classe @Model viene salvata automaticamente. Per valori di base come testo o numeri non servono annotazioni aggiuntive.

@Model
class Task {
    var title: String
    var isDone: Bool
}

I modelli sono classi

I modelli SwiftData devono essere classi, non struct. SwiftData li traccia per riferimento, così può osservare le modifiche e salvarle.

Aggiungere un inizializzatore

Definisca un init per poter creare istanze con valori iniziali. In questo modo le proprietà memorizzate vengono impostate quando viene creata un’attività.

init(title: String, isDone: Bool = false) {
    self.title = title
    self.isDone = isDone
}

Tipi di proprietà supportati

SwiftData salva immediatamente i tipi più comuni: String, Int, Double, Bool, Date e Data funzionano senza configurazione.

var due: Date
var priority: Int

Proprietà opzionali

Contrassegni un valore come optional quando potrebbe mancare. SwiftData memorizza senza problemi nil, una soluzione ideale per i campi che l’utente non ha ancora compilato.

var note: String?

Vincoli di unicità

Aggiunga @Attribute(.unique) per impedire valori duplicati in una proprietà. SwiftData manterrà quel campo univoco nell’intero archivio.

@Attribute(.unique) var id: UUID

Relazioni tra modelli

I modelli possono fare riferimento l’uno all’altro con una @Relationship. In questo modo un record viene collegato a un altro, ad esempio un progetto che contiene molte attività.

@Relationship var tasks: [Task]

Eliminazioni a cascata

Una regola di eliminazione .cascade rimuove insieme i record correlati. Eliminando un progetto, scompaiono anche le sue attività, mantenendo ordinati i dati.

@Relationship(deleteRule: .cascade)
var tasks: [Task]

Ignorare una proprietà

Usi @Transient per i valori che non desidera salvare, come una cache temporanea. SwiftData li ignora durante la scrittura su disco.

@Transient var isEditing = false

Verifica rapida

Verifica rapida sulla definizione dei modelli.

Riepilogo: definire i modelli

Ha imparato che @Model trasforma una classe in dati persistenti, con proprietà normali, valori optional, attributi univoci e relazioni. La struttura dei dati è pronta. 🎉

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 «Definire i tipi @Model» è gratuita?

Sì — il testo completo di «Definire i tipi @Model» è 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 «Definire i tipi @Model»?

Annoti le classi come modelli persistenti. 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 «Definire i tipi @Model»?

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. Definire i tipi @Model
  2. Il contenitore e il contesto del modello
  3. Eseguire query con @Query
  4. Inserire, aggiornare ed eliminare
← Torna a SwiftUI Academy