0Pricing
Swift Academy · Pelajaran

Satu Sumber Kebenaran dan Aliran Searah

Merancang aplikasi SwiftUI dengan satu model keadaan yang menjadi sumber otoritatif.

Satu Sumber Kebenaran dan Aliran Searah adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Selamat Datang

Aliran data satu arah berarti status mengalir ke bawah dalam hierarki tampilan, sedangkan peristiwa mengalir ke atas. Satu sumber kebenaran yang menjadi acuan menghilangkan inkonsistensi.

Prinsipnya

``` State → View → Event → State mutation → View re-renders ``` Tampilan adalah fungsi murni dari status. Tampilan tidak menentukan status—tampilan hanya menampilkannya dan menghasilkan peristiwa.

Antarmuka Pengguna Berbasis Model

```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 }) } } ```

Menghindari Status Duplikat

```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 ```

Pola Aksi/Peristiwa

```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 (Arsitektur yang Dapat Dikomposisikan)

The Composable Architecture (sumber terbuka) memformalkan pola ini di Swift dengan pereduksi, efek, dan penyimpanan—mirip dengan Redux di React.

Menghindari Konflik Dua Arah

```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) } } ```

Menyebarkan Perubahan ke Atas

Gunakan fungsi panggilan balik untuk menyebarkan peristiwa ke atas: ```swift struct Child: View { var onDelete: () -> Void var body: some View { Button("Delete", action: onDelete) } } ```

Menguji Kode Satu Arah

Status murni + pereduksi murni mudah sekali diuji: ```swift var state = AppState() reduce(state: &state, action: .increment) XCTAssertEqual(state.count, 1) ```

Manfaat

• Dapat diprediksi: status yang sama → antarmuka yang sama • Dapat ditelusuri: catat setiap aksi + perubahan status • Dapat diuji: logika tidak memerlukan antarmuka pengguna untuk pengujian • Penelusuran lintas waktu: putar ulang riwayat status

Pemeriksaan Singkat

Dalam aliran data satu arah, apa yang memicu perubahan status?

Rangkuman

Hal-hal penting: • Status mengalir ke bawah; peristiwa mengalir ke atas • Satu sumber kebenaran—tanpa status duplikat • Gunakan aksi/per untuk logika perubahan yang dapat diuji • Fungsi panggilan balik menyebarkan peristiwa dari anak ke induk • Status murni + pereduksi murni = pengujian unit yang mudah Kursus selesai! Berikutnya: Kerangka Kerja Combine.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Satu Sumber Kebenaran dan Aliran Searah” gratis?

Ya — teks lengkap “Satu Sumber Kebenaran dan Aliran Searah” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Satu Sumber Kebenaran dan Aliran Searah”?

Merancang aplikasi SwiftUI dengan satu model keadaan yang menjadi sumber otoritatif. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Satu Sumber Kebenaran dan Aliran Searah” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. @Binding: Aliran Data Dua Arah
  2. @ObservableObject dan @StateObject
  3. @EnvironmentObject untuk Keadaan Bersama
  4. Satu Sumber Kebenaran dan Aliran Searah
← Kembali ke Swift Academy