Sobes.tech
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:

  1. Funktsiooni deklaratsioonis märkige enne sulgude parameetrit @escaping.
  2. 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.