0Pricing
Swift Academy · Ders

Zengin Veriler için İlişkili Değerler

Durumlara yük verileri eklemeyi ve bunları kalıp eşleme ile çıkarmayı öğrenin.

Zengin Veriler için İlişkili 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

İlişkili değerler, her numaralandırma durumunun ek veriler taşımasını sağlar. Numaralandırmaları güçlü, ayrıştırılmış birleşimlere dönüştürürler — Swift'te tür güvenli durum modellemesinin temelini oluştururlar.

İlişkili Değerleri Tanımlama

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

Seçim Yapısıyla Değerleri Çıkarma

```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)") } ``` Ya da tüm değerleri tek seferde bağlamak için `case let` kullanın: ```swift case let .upc(n,m,p,c): ... ```

Adlandırılmış İlişkili Değerler

```swift enum NetworkResult { case success(statusCode: Int, data: Data) case failure(error: Error) } if case .success(let code, let data) = result { ... } ``` Etiketler, bağlama bağlamını daha anlaşılır hâle getirir.

İlişkili Değerler ve Ham Değerler

• Ham değerler: derleme zamanında sabitler, tüm durumlar aynı türdedir, `rawValue` özelliği • İlişkili değerler: çalışma zamanı verileri, her durumun kendine ait türü vardır, desen eşleştirmesiyle çıkarılır Aynı enum içinde ikisine birden sahip olamazsınız.

İsteğe Bağlı Değerler Enum Olarak

Swift'in `Optional` türü aslında şöyledir: ```swift enum Optional { case some(Wrapped) case none } ``` Her `if let`, `switch` ve `??` aynı mekanizma üzerinde çalışır.

Result<Success, Failure>

```swift func fetch() -> Result { ... } switch fetch() { case .success(let data): process(data) case .failure(let err): print(err) } ``` `Result`, standart kitaplıkta tanımlı, ilişkili değer taşıyan iki duruma sahip bir enum'dur.

if case ile Desen Eşleştirme

```swift let item = Barcode.qrCode("hello") if case .qrCode(let code) = item { print("QR code: \(code)") } ``` `if case`, yalnızca tek bir durumla ilgilendiğinizde kısa ve öz bir kullanım sunar.

guard case Kullanımı

```swift func process(_ result: NetworkResult) { guard case .success(_, let data) = result else { return } handle(data) } ``` `guard case`, desen eşleşmezse erkenden çıkar.

Koleksiyonlarda Enum'lar

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

Kısa Sınama

Bir switch case içindeki ilişkili değerleri çıkarmak için hangi anahtar sözcük kullanılır?

Özet

Temel çıkarımlar: • İlişkili değerler, tek tek durumlara veri ekler • `switch`, `if case` veya `guard case` ile çıkarılır • Açıklık için adlandırılmış etiketler kullanın: `.success(code: Int, data: Data)` • `Optional` ve `Result`, ilişkili değerlere sahip standart kitaplık enum'larıdır • İlişkili değerler ile ham değerler aynı enum içinde birlikte kullanılamaz Sıradaki konu: dolaylı enum'lar ve özyinelemeli yapılar.

Sıkça Sorulan Sorular

“Zengin Veriler için İlişkili Değerler” dersi ücretsiz mi?

Evet — “Zengin Veriler için İlişkili 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.

“Zengin Veriler için İlişkili Değerler” dersinde ne öğreneceğim?

Durumlara yük verileri eklemeyi ve bunları kalıp eşleme ile çıkarmayı öğrenin. 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.

“Zengin Veriler için İlişkili 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. Ham Değerler ve CaseIterable
  2. Zengin Veriler için İlişkili Değerler
  3. Dolaylı Sıralı Türler ve Özyinelemeli Yapılar
  4. Sıralı Türlerle Durum Makinelerini Modelleştirme
← Swift Academy Sayfasına Dön