Proprietà memorizzate e calcolate, observer
Definisca proprietà memorizzate e calcolate, crei proprietà calcolate di sola lettura e get/set e reagisca ai cambiamenti con gli observer willSet/didSet.
Proprietà memorizzate e calcolate, observer è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. 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 Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 3 lezioni in totale.
Panoramica
Questa lezione mette a confronto le proprietà memorizzate e calcolate e mostra gli observer willSet/didSet per reagire alle modifiche.
Memorizzate e calcolate
Le proprietà memorizzate conservano i dati. Le proprietà calcolate calcolano un valore quando vengono lette.
struct Rectangle {
// stored properties (hold data)
var width: Double
var height: Double
// computed property (derived on access)
var area: Double {
return width * height // read-only computed
}
}
let r = Rectangle(width: 3, height: 4)
print("area =", r.area) // 12get/set calcolati
Aggiunga get/set per creare una proprietà calcolata in lettura e scrittura che mantenga sincronizzati gli invarianti.
struct Circle {
var radius: Double // stored
var diameter: Double { // computed read-write
get { radius * 2 }
set { radius = newValue / 2 }
}
}
var c = Circle(radius: 5)
print(c.diameter) // 10
c.diameter = 14
print(c.radius) // 7Observer in azione
Gli observer vengono eseguiti prima e dopo le modifiche a una proprietà memorizzata. Utilizzi newValue/oldValue per ottenere il contesto.
struct Counter {
var value: Int = 0 {
willSet { print("will set to", newValue) }
didSet { print("did set from", oldValue) }
}
}
var cnt = Counter()
cnt.value = 5
cnt.value = 9Observer e proprietà calcolate
Note:
- Gli observer si applicano alle proprietà memorizzate, incluse quelle impostate nelle estensioni.
- Le proprietà calcolate non supportano gli observer: inserisca la logica in set.
- Gli observer non vengono chiamati durante l'inizializzazione, prima che lo storage sia pronto.
Schema pratico
Combini gli observer per normalizzare l'input e una proprietà calcolata per derivare i dati da visualizzare.
struct Score {
var raw: Int = 0 {
didSet {
if raw < 0 { raw = 0 }
if raw > 100 { raw = 100 }
}
}
var label: String {
// computed: derive a label from current raw
if raw >= 90 { return "A" }
if raw >= 80 { return "B" }
if raw >= 70 { return "C" }
return "D"
}
}
var s = Score()
s.raw = 120
print(s.raw, s.label) // 100 A
s.raw = -5
print(s.raw, s.label) // 0 DRegola degli observer
Verifica rapida: che cosa viene eseguito prima e dopo la modifica di una proprietà memorizzata?
Riepilogo
Riepilogo: utilizzi le proprietà memorizzate per i dati, quelle calcolate per i valori derivati (get/set) e willSet/didSet per reagire alle modifiche delle proprietà memorizzate.
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
- 122
- Lezioni
- 409
Domande Frequenti
La lezione «Proprietà memorizzate e calcolate, observer» è gratuita?
Sì — il testo completo di «Proprietà memorizzate e calcolate, observer» è 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 Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 3 lezioni in totale.
Cosa imparerò in «Proprietà memorizzate e calcolate, observer»?
Definisca proprietà memorizzate e calcolate, crei proprietà calcolate di sola lettura e get/set e reagisca ai cambiamenti con gli observer willSet/didSet. Eserciti Swift 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 Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift 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 3.
Quanto tempo richiede la lezione «Proprietà memorizzate e calcolate, observer»?
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 Swift Academy?
Sì. Ogni lezione Swift 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
- Struct e classi, proprietà e inizializzatori
- Proprietà memorizzate e calcolate, observer
- Inizializzatori e deinit (classi)