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

  1. U deklaraciji funkcije, pre parametra zatvaranja, navesti @escaping.
  2. 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.