0Pricing
Swift Academy · Ders

Özel dizinleme için alt simgeler

Dizi benzeri söz dizimiyle öğeleri okumak/yazmak için özel alt simgeler tanımlayın, güvenli erişimciler ekleyin, birden çok parametreli dizinlemeyi ve hatta tür (static) alt simgelerini destekleyin.

Özel dizinleme için alt simgeler, 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.

Genel bakış

Verilere köşeli parantez söz dizimiyle erişmek için alt simgeleri kullanın. Bunları salt okunur veya hem okunabilir hem ayarlanabilir yapabilir, hatta birden çok dizin kabul etmelerini sağlayabilirsiniz.

Hem okunabilir hem ayarlanabilir alt simge

Dizi benzeri söz dizimiyle iç depolamayı dışa açmak için bir get/set alt simgesi oluşturun.

struct Box {
    private var items: [String] = []
    init(_ values: [String]) { self.items = values }

    subscript(index: Int) -> String {
        get { items[index] }           // may trap if out of bounds (like Array)
        set { items[index] = newValue }
    }
}
var b = Box(["a","b","c"])
print(b[1])     // "b"
b[1] = "B"
print(b[1])     // "B"

Güvenli alt simge

Geçersiz dizinlerde hataları önlemek için bir isteğe bağlı değer döndürün: kullanımı kolay, güvenli bir alt simge.

extension Array {
    subscript(safe i: Int) -> Element? {
        return indices.contains(i) ? self[i] : nil
    }
}
let arr = [10,20]
print(arr[safe: 1] ?? -1)  // 20
print(arr[safe: 5] ?? -1)  // -1

Birden çok parametre

Alt simgeler birden çok parametre alabilir; matrisler veya koordinat erişimi için idealdir.

struct Matrix {
    let rows: Int, cols: Int
    private var grid: [Int]
    init(rows: Int, cols: Int, fill: Int = 0) {
        self.rows = rows; self.cols = cols
        self.grid = Array(repeating: fill, count: rows*cols)
    }
    private func index(_ r: Int, _ c: Int) -> Int { r*cols + c }

    subscript(r: Int, c: Int) -> Int {
        get { grid[index(r,c)] }
        set { grid[index(r,c)] = newValue }
    }
}
var m = Matrix(rows: 2, cols: 3)
m[0, 2] = 7
print(m[0, 2])

Tür alt simgesi

Örnek üzerinde değil, doğrudan tür üzerinde dizinleme yapmak için statik bir tür alt simgesi ekleyin.

struct Roman {
    static let map: [Int:String] = [1:"I", 5:"V", 10:"X"]
    static subscript(_ n: Int) -> String? {
        return map[n]
    }
}
print(Roman[5] ?? "?")   // "V"

İpuçları

İpuçları:

  • Güvenli erişim için isteğe bağlı değerler döndürmeyi tercih edin.
  • Alt simgeleri basit tutun; yoğun işlemler yöntemlerde bulunmalıdır.
  • Anlaşılır olması için parametreleri adlandırın (ör. [row:col:]).

Alt simgenin anlamı

Kısa kontrol: Alt simgeler ne sağlar?

Özet

Özet: Hem okunabilen hem ayarlanabilen alt simgeler oluşturun, güvenli isteğe bağlı erişim sağlayıcıları ekleyin, birden çok parametreli dizinlemeyi destekleyin ve hatta tür alt simgeleri tanımlayın.

Sıkça Sorulan Sorular

“Özel dizinleme için alt simgeler” dersi ücretsiz mi?

Evet — “Özel dizinleme için alt simgeler” 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.

“Özel dizinleme için alt simgeler” dersinde ne öğreneceğim?

Dizi benzeri söz dizimiyle öğeleri okumak/yazmak için özel alt simgeler tanımlayın, güvenli erişimciler ekleyin, birden çok parametreli dizinlemeyi ve hatta tür (static) alt simgelerini destekleyin. 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.

“Özel dizinleme için alt simgeler” 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. Özellikler ve alt simgeler
  2. lazy ve özellik gözlemcileri
  3. get/set ile hesaplanan özellikler
  4. Özel dizinleme için alt simgeler
← Swift Academy Sayfasına Dön