Swift Academy · Ders

defer Nasıl Çalışır

Yürütme yolundan bağımsız olarak kapsamdan çıkarken kod çalıştırın.

1. ders / 413 adım

defer Nasıl Çalışır, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 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 4 dersten oluşur.

Erteleme Ne Yapar

Bir defer bloğu, geçerli kapsamdan nasıl çıkılırsa çıkılsın, kapsamdan çıkılmak üzereyken çalıştırılacak kodu planlar.

func demo() {
    defer { print("cleanup") }
    print("work")
}
demo()

Kapsamdan Çıkarken Çalışır

Ertelenen kod, kapsamın geri kalanı tamamlandıktan sonra, denetim kapsamdan ayrılmadan hemen önce çalışır.

func greet() {
    defer { print("goodbye") }
    print("hello")
}
greet()

Normal Akıştan Sonra Ertelenen Kod

Birden çok deyim olsa bile defer gövdesi en son çalışır.

func process() {
    defer { print("3 deferred") }
    print("1 start")
    print("2 middle")
}
process()

Döngü İçinde defer

Döngü gövdesi içindeki bir defer, her yinelemenin sonunda çalışır.

for i in 1...3 {
    defer { print("end of iteration", i) }
    print("start of iteration", i)
}

if İçinde defer

Kapsam herhangi bir blok olabilir. Bir if içindeki defer, o if bloğu sona erdiğinde çalışır.

func check(_ flag: Bool) {
    if flag {
        defer { print("leaving if block") }
        print("inside if")
    }
    print("after if")
}
check(true)

Güncel Değerleri Yakalama

Ertelenen blok, değişkenleri başvuru yoluyla yakalar; bu nedenle çalıştığı andaki değerlerini görür.

func counterDemo() {
    var count = 0
    defer { print("final count:", count) }
    count = 5
}
counterDemo()

defer Çalışmayı Geciktirmez

defer eş zamanlı olmayan biçimde çalışmaz. Kapsamdan çıkılırken, işlev çağıranına dönmeden önce eş zamanlı olarak çalışır.

func order() {
    defer { print("B") }
    print("A")
}
order()
print("C")

Yaygın Kullanım: Kurulum ve Temizlemeyi Eşleştirme

Temizleme işlemini kurulumun hemen yanına yerleştirin; böylece ikisi görsel ve mantıksal olarak birlikte kalır.

func session() {
    print("open session")
    defer { print("close session") }
    print("do work")
}
session()

do Bloğunda defer

Bir do bloğundaki defer, o bloktan çıkıldığında çalışır.

func run() {
    do {
        defer { print("do block cleanup") }
        print("inside do")
    }
    print("after do")
}
run()

defer İçinde Birden Çok İfade

Bir defer bloğu birkaç ifade içerebilir; tüm ifadeler kapsamdan çıkılırken birlikte çalışır.

func multi() {
    defer {
        print("step 1 of cleanup")
        print("step 2 of cleanup")
    }
    print("main work")
}
multi()

defer Neden Kullanılır

defer, kapsamın nasıl sona erdiğinden bağımsız olarak temizlemenin gerçekleşmesini garanti eder ve bazı yollarda bunun unutulma olasılığını azaltır.

func guaranteed() {
    defer { print("always runs") }
    print("body")
}
guaranteed()

Hızlı Kontrol

defer zamanlamasını sınayın.

Özet

defer, mevcut kapsamın nasıl sona erdiğinden bağımsız olarak kodu kapsamın sonunda çalışacak şekilde planlar. Eş zamanlı olarak çalışır, kapsamın sonunda çalıştırılır ve temizlemeyi kurulumun yanında tutmak için idealdir.

func demo() {
    defer { print("last") }
    print("first")
}
demo()
Başlamak ücretsiz

Yapay zeka eğitmeniyle Swift öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
122
Dersler
409

Sıkça Sorulan Sorular

“defer Nasıl Çalışır” dersi ücretsiz mi?

Evet — “defer Nasıl Çalışır” 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.

“defer Nasıl Çalışır” dersinde ne öğreneceğim?

Yürütme yolundan bağımsız olarak kapsamdan çıkarken kod çalıştırı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, 4 dersinin 1. dersidir.

“defer Nasıl Çalışır” 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. defer Nasıl Çalışır
  2. Birden Çok defer Bloğunun Sıralaması
  3. Kaynak Temizleme için defer
  4. Hatalar ve Erken Dönüşlerle defer
← Swift Academy Sayfasına Dön