Junior — Middle
Koje korake treba preduzeti da biste koristili atribut @escaping sa zatvaranjem u definiciji funkcije?
sobes.tech АИ
Одговор од АИ
U Swift-u, atribut @escaping se koristi za zatvaranja (closures) koja se čuvaju i pozivaju nakon završetka funkcije u kojoj su prosleđeni. Da biste koristili @escaping, morate:
- U deklaraciji funkcije, pre parametra zatvaranja, navesti
@escaping. - To znači da se zatvaranje može pozvati kasnije, na primer, asinhrono.
Primer:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Izvršavamo asinhroni zadatak
completion() // pozivamo zatvaranje kasnije
}
}
Bez @escaping, kompajler neće dozvoliti da se zatvaranje sačuva za pozivanje nakon izlaska iz funkcije.