0Pricing
Swift Academy · Ders

Özel Özellik Sarmalayıcı Oluşturma

Mantığı kapsüllemek için @propertyWrapper ve wrappedValue uygulayın.

Özel Özellik Sarmalayıcı Oluşturma, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 1. 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

Özellik sarmalayıcıları, özellik depolama mantığını kapsüller; doğrulama, dönüştürme veya kalıcılık gibi standart kodları yeniden kullanmanızı sağlar.

Temel Sözdizimi

```swift @propertyWrapper struct Clamped { var wrappedValue: Int { didSet { wrappedValue = min(max(0,wrappedValue),100) } } init(wrappedValue: Int) { self.wrappedValue = min(max(0,wrappedValue),100) } } struct Gauge { @Clamped var level = 50 } var g = Gauge() g.level = 150 // clamped to 100 ```

wrappedValue Gereksinimi

Her özellik sarmalayıcısı `wrappedValue` tanımlamalıdır. Sarmalayıcıyı kullanan kişinin okuduğu ve yazdığı değer budur.

Genel Türlü Özellik Sarmalayıcıları

```swift @propertyWrapper struct Logged { private var value: T var wrappedValue: T { get { print("get"); return value } set { print("set to \(newValue)"); value = newValue } } init(wrappedValue: T) { value = wrappedValue } } ```

Sarmalayıcıyı Kullanma

```swift struct Model { @Logged var name: String = "Default" } var m = Model() let n = m.name // prints "get" m.name = "Alice" // prints "set to Alice" ```

Özel Başlatıcı Bağımsız Değişkenleri

```swift @propertyWrapper struct Default { var wrappedValue: T init(wrappedValue: T) { self.wrappedValue = wrappedValue } init(_ default: T) { wrappedValue = default } } @Default(42) var count: Int ```

Saklanan ve Hesaplanan Özelliklerde Sarmalayıcı

Özellik sarmalayıcıları gizli bir depolama alanı (`_wrappedValue`) ekler. Ek açıklama içeren özellik, sözdizimsel bir kolaylıktır: ```swift @Clamped var level = 50 // Desugars to: var _level = Clamped(wrappedValue: 50) var level: Int { get { _level.wrappedValue } set { _level.wrappedValue = newValue } } ```

UserDefaults Sarmalayıcısı

```swift @propertyWrapper struct UserDefault { let key: String; let defaultValue: T var wrappedValue: T { get { UserDefaults.standard.object(forKey: key) as? T ?? defaultValue } set { UserDefaults.standard.set(newValue, forKey: key) } } } @UserDefault(key:"theme",defaultValue:"light") var theme: String ```

İş Parçacığı Açısından Güvenli Sarmalayıcı

```swift @propertyWrapper final class Atomic { private var value: T; private let lock = NSLock() var wrappedValue: T { get { lock.lock(); defer { lock.unlock() }; return value } set { lock.lock(); defer { lock.unlock() }; value = newValue } } init(wrappedValue: T) { value = wrappedValue } } ```

Bir Türde Sarmalayıcıları Birleştirme

```swift struct Settings { @Clamped var volume = 50 @UserDefault(key:"username",defaultValue:"") var username: String @Logged var debugMode = false } ```

Hızlı Kontrol

Her `@propertyWrapper` türünde bulunması gereken özellik hangisidir?

Özet

Temel çıkarımlar: • `@propertyWrapper` + `wrappedValue` = en basit özellik sarmalayıcısı • Sarmalayıcı, gizli bir `_name` depolama alanı ekler • Genel türlü sarmalayıcılar her T türüyle çalışır • Yaygın kullanımlar: sınırlandırma, günlükleme, UserDefaults, iş parçacığı güvenliği • Özel başlatıcı bağımsız değişkenleri yapılandırmaya olanak tanır Sonraki konu: yansıtılan değerler.

Sıkça Sorulan Sorular

“Özel Özellik Sarmalayıcı Oluşturma” dersi ücretsiz mi?

Evet — “Özel Özellik Sarmalayıcı Oluşturma” 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.

“Özel Özellik Sarmalayıcı Oluşturma” dersinde ne öğreneceğim?

Mantığı kapsüllemek için @propertyWrapper ve wrappedValue uygulayı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 1. dersidir.

“Özel Özellik Sarmalayıcı Oluşturma” 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. Özel Özellik Sarmalayıcı Oluşturma
  2. $binding ile Yansıtılan Değerler
  3. Combine'da @Published ve Gözlemleme
  4. Birden Çok Özellik Sarmalayıcısını Birleştirme
← Swift Academy Sayfasına Dön