0Pricing
Swift Academy · Ders

Tek Doğruluk Kaynağı ve Tek Yönlü Akış

Tek bir yetkili durum modeliyle SwiftUI uygulamaları tasarlayın.

Tek Doğruluk Kaynağı ve Tek Yönlü Akış, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 4. 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

Tek yönlü veri akışı, durumun görünüm ağacında aşağıya, olayların ise yukarıya akması demektir. Tek ve yetkili doğruluk kaynağı, tutarsızlıkları ortadan kaldırır.

İlke

``` State → View → Event → State mutation → View re-renders ``` Görünümler, durumun saf işlevleridir. Durumun ne olduğuna karar vermezler — yalnızca durumu görüntüler ve olaylar üretirler.

Model odaklı kullanıcı arayüzü

```swift struct AppState { var count = 0; var filter: Filter = .all } struct AppView: View { @State var state = AppState() var body: some View { CounterView(state: state, onIncrement: { state.count += 1 }) } } ```

Yinelenen Durumdan Kaçınma

```swift // ❌ Duplicate state — can drift out of sync: @State var isLoading = false @ObservedObject var viewModel: ViewModel // also has isLoading // ✓ Single source: @ObservedObject var viewModel: ViewModel // owns all state ```

Eylemler/Olaylar Deseni

```swift enum CounterAction { case increment, decrement, reset } func reduce(state: inout AppState, action: CounterAction) { switch action { case .increment: state.count += 1 case .decrement: state.count -= 1 case .reset: state.count = 0 } } ```

TCA (Birleştirilebilir Mimari)

Birleştirilebilir Mimari (açık kaynak), bu deseni Swift'te indirgeme işlevleri, etkiler ve depolarla resmileştirir — React'teki Redux'a benzer.

İki Yönlü Çakışmalardan Kaçınma

```swift // ✓ Clear ownership: parent owns, child observes: struct Parent: View { @State private var text = "" var body: some View { Child(text: $text) } } struct Child: View { @Binding var text: String var body: some View { TextField("", text: $text) } } ```

Değişiklikleri Yukarı İletme

Olayları yukarıya iletmek için kapanışları (geri çağırmaları) kullanın: ```swift struct Child: View { var onDelete: () -> Void var body: some View { Button("Delete", action: onDelete) } } ```

Tek Yönlü Kodu Sınama

Saf durum + saf indirgeme işlevi kolayca sınanabilir: ```swift var state = AppState() reduce(state: &state, action: .increment) XCTAssertEqual(state.count, 1) ```

Faydalar

• Öngörülebilir: aynı durum → aynı kullanıcı arayüzü • Hataları ayıklanabilir: her eylemi ve durum değişikliğini günlük kaydına yazın • Sınanabilir: mantık sınamaları için kullanıcı arayüzü gerekmez • Zaman içinde hata ayıklama: durum geçmişini yeniden oynatın

Hızlı Kontrol

Tek yönlü veri akışında, durum değişikliğini ne tetikler?

Özet

Önemli çıkarımlar: • Durum aşağıya, olaylar yukarıya akar • Tek doğruluk kaynağı — yinelenen durum yoktur • Sınanabilir durum değişikliği mantığı için eylemleri ve indirgeme işlevlerini kullanın • Geri çağırmalar, olayları alt görünümden üst görünüme iletir • Saf durum + indirgeme işlevi = kolay birim sınamaları Kurs tamamlandı! Sıradaki: Combine Çerçevesi.

Sıkça Sorulan Sorular

“Tek Doğruluk Kaynağı ve Tek Yönlü Akış” dersi ücretsiz mi?

Evet — “Tek Doğruluk Kaynağı ve Tek Yönlü Akış” 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.

“Tek Doğruluk Kaynağı ve Tek Yönlü Akış” dersinde ne öğreneceğim?

Tek bir yetkili durum modeliyle SwiftUI uygulamaları tasarlayı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 4. dersidir.

“Tek Doğruluk Kaynağı ve Tek Yönlü Akış” 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. @Binding: İki Yönlü Veri Akışı
  2. @ObservableObject ve @StateObject
  3. Paylaşılan Durum için @EnvironmentObject
  4. Tek Doğruluk Kaynağı ve Tek Yönlü Akış
← Swift Academy Sayfasına Dön