Sobes.tech
Junior — Middle

Bir fonksiyon tanımında kapanış ile @escaping özniteliğini kullanmak için hangi adımlar izlenmelidir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift'te @escaping özniteliği, çağrıldıkları fonksiyon tamamlandıktan sonra saklanan ve çağrılan kapanışlar (closure) için kullanılır. @escaping kullanmak için:

  1. Fonksiyon bildiriminde, kapanış parametresinden önce @escaping belirtmek gerekir.
  2. Bu, kapanışın daha sonra, örneğin asenkron olarak çağrılabileceği anlamına gelir.

Örnek:

func fetchData(completion: @escaping () -> Void) {
    DispatchQueue.global().async {
        // Asenkron görevi gerçekleştir
        completion() // kapanışı daha sonra çağır
    }
}

@escaping olmadan, derleyici kapanışı saklamaya ve fonksiyondan çıktıktan sonra çağırmaya izin vermez.