Saklanan ve hesaplanan özellikler, gözlemciler
Saklanan ve hesaplanan özellikler tanımlayın, salt okunur ve get/set hesaplanan özellikler oluşturun, değişikliklere willSet/didSet gözlemcileriyle tepki verin.
Saklanan ve hesaplanan özellikler, gözlemciler, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 3 dersten oluşur.
Genel bakış
Bu derste saklanan ve hesaplanan özellikler karşılaştırılır; değişikliklere tepki vermek için willSet/didSet gözlemcilerinin nasıl kullanılacağı gösterilir.
Saklanan ve hesaplanan
Saklanan özellikler verileri tutar. Hesaplanan özellikler, erişildiklerinde bir değer hesaplar.
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) // 12Hesaplanan getirme/ayarlama
Değişmezleri eşzamanlı tutan, hem okunabilen hem ayarlanabilen hesaplanan bir özellik oluşturmak için get/set ekleyin.
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) // 7Gözlemciler iş başında
Gözlemciler, saklanan bir özellikteki değişikliklerin çevresinde çalışır. Bağlamı anlamak için newValue/oldValue kullanın.
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 = 9Gözlemciler ve hesaplanan özellikler
Notlar:
- Gözlemciler, uzantılarda ayarladığınız özellikler de dâhil olmak üzere saklanan özelliklere uygulanır.
- Hesaplanan özellikler gözlemcileri desteklemez; mantığı bunun yerine set içine yerleştirin.
- Depolama hazır olmadan önce, başlatma sırasında gözlemciler çağrılmaz.
Uygulamalı örüntü
Girdiyi normalleştirmek için gözlemcileri, görüntülenecek verileri türetmek için de hesaplanan bir özelliği birleştirin.
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 DGözlemci kuralı
Kısa kontrol: Saklanan bir özellik değişmeden önce ve sonra ne çalışır?
Özet
Özet: Veriler için saklanan özellikleri, türetilmiş değerler için (get/set) hesaplanan özellikleri, saklanan özelliklerdeki değişikliklere tepki vermek için de willSet/didSet kullanın.
Sıkça Sorulan Sorular
“Saklanan ve hesaplanan özellikler, gözlemciler” dersi ücretsiz mi?
Evet — “Saklanan ve hesaplanan özellikler, gözlemciler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 3 dersten oluşur.
“Saklanan ve hesaplanan özellikler, gözlemciler” dersinde ne öğreneceğim?
Saklanan ve hesaplanan özellikler tanımlayın, salt okunur ve get/set hesaplanan özellikler oluşturun, değişikliklere willSet/didSet gözlemcileriyle tepki verin. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.
“Saklanan ve hesaplanan özellikler, gözlemciler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Struct ve Class karşılaştırması, özellikler ve başlatıcılar
- Saklanan ve hesaplanan özellikler, gözlemciler
- Başlatıcılar ve deinit (sınıflar)