0Pricing
Swift Academy · Ders

Saklanan Özellikler ve Özellik Gözlemcileri

Özellik değişikliklerine tepki vermek için didSet ve willSet gözlemcilerini kullanın.

Saklanan Özellikler ve Özellik Gözlemcileri, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 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 4 dersten oluşur.

Hoş geldiniz

Saklanan özellikler, değerleri bir yapı veya sınıfın içinde tutar. Özellik gözlemcileri — `willSet` ve `didSet` — saklanan bir özelliğin değeri değiştiğinde tepki vermenizi sağlar.

Saklanan özellikler

```swift struct Counter { var count: Int = 0 // stored, mutable let name: String // stored, immutable } ``` Bir türün içinde `let` veya `var` ile atadığınız her değer, saklanan bir özelliktir.

didSet gözlemcisi

```swift struct Gauge { var level: Int = 0 { didSet { print("Changed from \(oldValue) to \(level)") } } } var g = Gauge() g.level = 5 // "Changed from 0 to 5" ``` `oldValue`, otomatik olarak sağlanan önceki değerdir.

willSet gözlemcisi

```swift struct Slider { var value: Double = 0.5 { willSet { print("About to change to \(newValue)") } } } ``` `newValue`, otomatik olarak sağlanan gelen değerdir. `willSet`, atamadan önce çalışır.

Her iki gözlemciyi birlikte kullanma

```swift var temperature: Double = 20 { willSet { print("Will become \(newValue)") } didSet { print("Was \(oldValue)") } } temperature = 25 // Will become 25.0 // Was 20.0 ```

didSet ile değerleri sınırlandırma

```swift var volume: Int = 50 { didSet { if volume > 100 { volume = 100 } if volume < 0 { volume = 0 } } } volume = 150 // clamped to 100 ``` Değişmezleri otomatik olarak uygulamak için temiz bir kalıptır.

Alt sınıflardaki gözlemciler

Özellik gözlemcileri, devralınan özelliklerde de çalışır: ```swift class Base { var x: Int = 0 } class Child: Base { override var x: Int { didSet { print("x changed to \(x)") } } } ```

Gözlemciler başlatıcıda çalışmaz

```swift struct Model { var value: Int = 0 { didSet { print("changed") } } init(v: Int) { self.value = v } // does NOT trigger didSet } ``` Gözlemciler, `init` içindeki ilk atama sırasında tetiklenmez.

Saklanan ve hesaplanan özellikler — hızlı ayrım

• Saklanan: `var x: Int = 0` — gerçek depolama alanı tutar • Hesaplanan: `var doubled: Int { x * 2 }` — erişim sırasında türetilir, depolama alanı yoktur • Gözlemci: saklanan bir özelliğe eklenir — değişikliklere tepki verir Hesaplanan özelliklere gözlemci eklenemez; çünkü bunlarda zaten `get`/`set` bulunur.

Performans notu

Özellik gözlemcileri, her yazma işleminde işlev çağrısı ek yükü oluşturur. Sık yazma işlemleri için (örneğin oyun döngüsü fiziğinde), daha iyi performans elde etmek üzere normal bir saklanan özellik kullanmayı ve güncelleme mantığını açıkça çağırmayı değerlendiriniz.

Hızlı kontrol

Hangi özellik gözlemcisi **önceki** değere erişim sağlar?

Özet

Temel çıkarımlar: • Saklanan özellikler değerleri doğrudan tutar • `willSet`, yeni değer saklanmadan önce çalışır; `newValue` sağlanır • `didSet`, işlemden sonra çalışır; `oldValue` sağlanır • Gözlemciler `init` sırasında çalışmaz • Kullanıcı arayüzü güncellemeleri, günlük kaydı ve doğrulama gibi yan etkiler için idealdir Sıradaki konu: hesaplanan özellikler.

Sıkça Sorulan Sorular

“Saklanan Özellikler ve Özellik Gözlemcileri” dersi ücretsiz mi?

Evet — “Saklanan Özellikler ve Özellik Gözlemcileri” 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 4 dersten oluşur.

“Saklanan Özellikler ve Özellik Gözlemcileri” dersinde ne öğreneceğim?

Özellik değişikliklerine tepki vermek için didSet ve willSet gözlemcilerini kullanın. 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, 4 dersinin 2. dersidir.

“Saklanan Özellikler ve Özellik Gözlemcileri” 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

  1. Üye Başlatıcıları ve Özel Başlatıcılar
  2. Saklanan Özellikler ve Özellik Gözlemcileri
  3. Yapılarda Hesaplanan Özellikler
  4. Değiştirici Yöntemler ve COW Anlambilimi
← Swift Academy Sayfasına Dön