Junior — Middle
Swift'da @escaping ta'rifi nima ekanligini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Swift'da @escaping anotatsiyasi, funksiyaga o'tkazilgan yopilish (closure) funksiyadan keyin chaqirilishi mumkinligini ko'rsatish uchun ishlatiladi. Bu, yopilish saqlanib, asinxron tarzda chaqiriladigan hollarda, masalan, tarmoq so'rovlarining callbacklarida muhimdir.
@escaping bo'lmagan yopilish, non-escaping (kirmaydigan) hisoblanadi, ya'ni u funksiyaning tanasida chaqirilishi kerak va keyinchalik chaqirish uchun saqlanmaydi.
Misol:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Asinxron ish
completion() // fetchData dan chiqib ketgach chaqirish
}
}
Bu yerda, completion @escaping sifatida belgilangan, chunki u asinxron tarzda fetchData dan chiqib ketgach chaqiriladi.