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:
- Fonksiyon bildiriminde, kapanış parametresinden önce
@escapingbelirtmek gerekir. - 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.