Closure'lar ve yakalama temelleri
Closure söz dizimini, kısa bağımsız değişkenleri, sondaki closure'ı, yakalama listelerini ve escaping ile non-escaping arasındaki farkı anlayın.
Closure'lar ve yakalama temelleri, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 1. 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 3 dersten oluşur.
Giriş
Bu ders, çevrenizde dolaştırabileceğiniz kendi kendine yeten kod blokları olan kapanışları tanıtır. Söz dizimini, kısa gösterim bağımsız değişkenlerini, sondaki kapanışı, yakalama listelerini ve kaçışlı-kैçışsız davranışını keşfedin.
Kapanış söz dizimi
Kapanışlar hafif işlevler gibi görünür. Söz dizimi: { (params) -> Return in ... }.
let greet = { (name: String) -> String in
return "Hello, \\(name)"
}
print(greet("Ada"))Kısa gösterim bağımsız değişkenleri
Swift, kapanışları basitleştirmek için $0 ve $1 gibi kısa gösterim bağımsız değişkenleri sağlar.
let doubled = [1,2,3].map { $0 * 2 }
print(doubled)Sondaki kapanış
Bir kapanış son bağımsız değişmense onu parantezlerin dışında yazabilirsiniz: buna sondaki kapanış denir.
func operate(_ x: Int, _ y: Int, _ f: (Int,Int)->Int) -> Int {
return f(x,y)
}
let sum = operate(2,3) { $0 + $1 }
print(sum)Yakalama temelleri
Kapanışlar, çevreleyen kapsamlarındaki değerleri yakalar; örneğin çalışan bir counter değerini.
func makeCounter() -> () -> Int {
var count = 0
return {
count += 1
return count
}
}
let counter = makeCounter()
print(counter()) // 1
print(counter()) // 2Yakalama listeleri ve kaçış
Alıkoyma döngülerinden kaçınmak için [weak self] gibi yakalama listeleri kullanın. Kapanışlar varsayılan olarak kaçışsızdır; çağrı sonrasında saklanacaksa @escaping ile işaretleyin.
class Greeter {
var name = "Ada"
lazy var greet: () -> Void = { [weak self] in
print("Hello", self?.name ?? "?")
}
}
let g = Greeter()
g.greet()Yakalama listesi sorusu
Hızlı kontrol: Yakalama listesinin rolü nedir?
Özet
Özet: Kapanışlar satır içi kod bloklarıdır. Söz dizimini, kısa gösterim bağımsız değişkenlerini ve sondaki kapanışı öğrenin; yakalamayı listelerle denetleyin. Kaçışlı kapanışlar çağrıdan uzun yaşar; kaçışsız kapanışlar varsayılandır.
Sıkça Sorulan Sorular
“Closure'lar ve yakalama temelleri” dersi ücretsiz mi?
Evet — “Closure'lar ve yakalama temelleri” 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 3 dersten oluşur.
“Closure'lar ve yakalama temelleri” dersinde ne öğreneceğim?
Closure söz dizimini, kısa bağımsız değişkenleri, sondaki closure'ı, yakalama listelerini ve escaping ile non-escaping arasındaki farkı anlayı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, 3 dersinin 1. dersidir.
“Closure'lar ve yakalama temelleri” 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
- Closure'lar ve yakalama temelleri
- Yakalama listeleri — weak/unowned ve değer yakalama
- Escaping ve non-escaping, autoclosure'lar