Definire i tipi @Model
Annoti le classi come modelli persistenti.
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: IntProprietà 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: UUIDRelazioni 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 = falseVerifica 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. 🎉
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
- Definire i tipi @Model
- Il contenitore e il contesto del modello
- Eseguire query con @Query
- Inserire, aggiornare ed eliminare