0Pricing
Swift Academy · Pelajaran

Nilai Terkait untuk Data yang Kaya

Menyematkan muatan pada case dan mengambilnya dengan pencocokan pola.

Nilai Terkait untuk Data yang Kaya adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 2 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

Nilai terkait memungkinkan setiap kasus enum membawa data tambahan. Nilai ini mengubah enum menjadi gabungan terdiskriminasi yang kuat — dasar pemodelan status yang aman berdasarkan tipe di Swift.

Mendefinisikan Nilai Terkait

```swift enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let product = Barcode.upc(8,85909,51226,3) let web = Barcode.qrCode("https://example.com") ```

Mengekstrak dengan switch

```swift switch barcode { case .upc(let n, let m, let p, let c): print("UPC: \(n)-\(m)-\(p)-\(c)") case .qrCode(let code): print("QR: \(code)") } ``` Atau gunakan `case let` untuk mengikat semuanya sekaligus: ```swift case let .upc(n,m,p,c): ... ```

Nilai Terkait Bernama

```swift enum NetworkResult { case success(statusCode: Int, data: Data) case failure(error: Error) } if case .success(let code, let data) = result { ... } ``` Label membuat konteks pengikatan menjadi jelas.

Nilai Terkait vs Nilai Mentah

• Nilai mentah: konstanta saat kompilasi, semua kasus memiliki tipe yang sama, properti `rawValue` • Nilai terkait: data saat program dijalankan, setiap kasus memiliki tipenya sendiri, diekstrak melalui pencocokan pola Anda tidak dapat menggunakan keduanya dalam enumerasi yang sama.

Opsional sebagai Enumerasi

Swift's `Optional` secara harfiah adalah: ```swift enum Optional { case some(Wrapped) case none } ``` Setiap `if let`, `switch`, dan `??` beroperasi menggunakan mekanisme yang sama.

Result<Success, Failure>

```swift func fetch() -> Result { ... } switch fetch() { case .success(let data): process(data) case .failure(let err): print(err) } ``` `Result` adalah enumerasi pustaka standar dengan dua kasus bernilai terkait.

Pencocokan Pola dalam if case

```swift let item = Barcode.qrCode("hello") if case .qrCode(let code) = item { print("QR code: \(code)") } ``` `if case` bersifat ringkas ketika Anda hanya memedulikan satu kasus.

Guard Case

```swift func process(_ result: NetworkResult) { guard case .success(_, let data) = result else { return } handle(data) } ``` `guard case` keluar lebih awal jika pola tidak cocok.

Enumerasi dalam Koleksi

```swift let events: [AppEvent] = [.login("alice"), .pageView("/home"), .logout] let logins = events.compactMap { if case .login(let u) = $0 { return u } else { return nil } } ```

Pemeriksaan Singkat

Kata kunci apa yang digunakan untuk mengekstrak nilai terkait di dalam kasus switch?

Rangkuman

Hal-hal penting: • Nilai terkait menyertakan data pada setiap kasus • Ekstrak dengan `switch`, `if case`, atau `guard case` • Gunakan label bernama agar lebih jelas: `.success(code: Int, data: Data)` • `Optional` dan `Result` adalah enumerasi pustaka standar dengan nilai terkait • Nilai terkait dan nilai mentah tidak dapat dicampur dalam satu enumerasi Berikutnya: enumerasi indirect dan struktur rekursif.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Nilai Terkait untuk Data yang Kaya” gratis?

Ya — teks lengkap “Nilai Terkait untuk Data yang Kaya” 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 “Nilai Terkait untuk Data yang Kaya”?

Menyematkan muatan pada case dan mengambilnya dengan pencocokan pola. 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 2 dari 4.

Berapa lama pelajaran “Nilai Terkait untuk Data yang Kaya” 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. Nilai Mentah dan CaseIterable
  2. Nilai Terkait untuk Data yang Kaya
  3. Enum Indirect dan Struktur Rekursif
  4. Memodelkan Mesin Keadaan dengan Enum
← Kembali ke Swift Academy