0Pricing
Swift Academy · Ders

$binding ile Yansıtılan Değerler

$ öneki aracılığıyla ek işlevler sunmak için projectedValue değerini dışa açın.

$binding ile Yansıtılan Değerler, 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

`$` aracılığıyla erişilen yansıtılan değerler, özellik sarmalayıcılarına ikincil bir arayüz sağlar — SwiftUI'daki `@State` ve `@Published`, `Binding` ve `Publisher` değerlerini bu şekilde dışa sunar.

projectedValue Ekleme

```swift @propertyWrapper struct Toggle { var wrappedValue: Bool = false var projectedValue: String { wrappedValue ? "ON" : "OFF" } } struct Model { @Toggle var active } var m = Model() print(m.$active) // "OFF" — projected value accessed with $ ```

projectedValue Türü

Yansıtılan değer herhangi bir türde olabilir — bir `Binding`, `Publisher`, `String` veya özel bir tür. SwiftUI'ın `@State` özelliği, çift yönlü veri akışına olanak tanıyan bir `Binding` yansıtır.

Bağlama Yansıtma Örneği

```swift // @State projects Binding: @State var isOn = false Toggle(isOn: $isOn) // $isOn is Binding ```

Özel Bağlama Yansıtması

```swift @propertyWrapper struct Validated { var wrappedValue: String var projectedValue: Bool { !wrappedValue.isEmpty } } struct Form { @Validated var email = "" } var f = Form() f.email = "hi@example.com" print(f.$email) // true — projected Bool ```

@Published Yansıtması

```swift class VM: ObservableObject { @Published var score = 0 } let vm = VM() let cancellable = vm.$score // Publisher .sink { print("Score: \($0)") } vm.score = 10 // "Score: 10" ```

Sarmalayıcı İçinde projectedValue'ya Erişme

```swift @propertyWrapper struct History { private var current: T private(set) var projectedValue: [T] = [] var wrappedValue: T { get { current } set { projectedValue.append(current); current = newValue } } init(wrappedValue: T) { current = wrappedValue } } ```

History Sarmalayıcısını Kullanma

```swift struct Counter { @History var count = 0 } var c = Counter() c.count = 1; c.count = 5; c.count = 3 print(c.$count) // [0,1,5] — history of old values ```

$ Sözdizimini Ayırt Etme

```swift struct Form { @State var text = "" var body: some View { TextField("Enter", text: $text) // $text is Binding } } // text → String (wrappedValue) // $text → Binding (projectedValue) ```

Tasarım Hususları

• `projectedValue` isteğe bağlıdır — yalnızca ikincil bir arayüz gerektiğinde ekleyin • Tür, `wrappedValue` türünden tamamen farklı olabilir • Yansıtılan değere erişmek için çağrı noktasında `$` kullanın • Yansıtılan değerler, Combine yayıncıları ve SwiftUI bağlamaları için idealdir

Hızlı Kontrol

Bir özellik sarmalayıcısının `projectedValue` değerine nasıl erişirsiniz?

Özet

Temel çıkarımlar: • `projectedValue`, `$` aracılığıyla sarmalayıcılara ikincil bir API sağlar • Herhangi bir tür olabilir — Binding, Publisher, Bool, Array • `@State`, `Binding` yansıtır; `@Published`, `Publisher` yansıtır • Hem gövde içinde hem de çağrı noktasında `$propertyName` ile erişin • Yalnızca ikinci bir arayüz gerçek bir değer kattığında ekleyin Sonraki konu: @Published ve Combine.

Sıkça Sorulan Sorular

“$binding ile Yansıtılan Değerler” dersi ücretsiz mi?

Evet — “$binding ile Yansıtılan Değerler” 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.

“$binding ile Yansıtılan Değerler” dersinde ne öğreneceğim?

$ öneki aracılığıyla ek işlevler sunmak için projectedValue değerini dışa açı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.

“$binding ile Yansıtılan Değerler” 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