Junior — Middle
Milliseid samme tuleb järgida, et kasutada @escaping atribuuti koos sulgemisega funktsiooni määratlemisel?
sobes.tech AI
Vastus AI-lt
Swift keeles @escaping atribuut kasutatakse sulgude (closures), mis salvestatakse ja kutsutakse pärast funktsiooni lõpetamist, milles need edastati. @escaping kasutamiseks:
- Funktsiooni deklaratsioonis märkige enne sulgude parameetrit
@escaping. - See tähendab, et sulg võib hiljem, näiteks asünkroonselt, kutsuda.
Näide:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Teostame asünkroonse ülesande
completion() // kutsume sulgu hiljem
}
}
Ilma @escaping-ita ei luba kompilaator sulgu salvestada ja hiljem kutsuda pärast funktsiooni väljumist.