Junior — Middle
Kādus soļus jāveic, lai izmantotu @escaping atribūtu ar aizvēršanu funkcijas definīcijā?
sobes.tech AI
Atbilde no AI
Swift valodā atribūts @escaping tiek izmantots slēdžiem (closures), kas tiek saglabāti un izsaukti pēc tam, kad funkcija, kurā tie tika nodoti, ir pabeigta. Lai izmantotu @escaping, ir jā:
- Funkcijas deklarācijā, pirms slēdža parametra, norādīt
@escaping. - Tas nozīmē, ka slēdzi var izsaukt vēlāk, piemēram, asinhroni.
Piemērs:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Veic asinhronu uzdevumu
completion() // izsauc slēdzi vēlāk
}
}
Bez @escaping, kompilators neaizliegtu saglabāt slēdzi, lai to varētu izsaukt pēc funkcijas iziešanas.