Sobes.tech
Junior — Middle

Jaké kroky je třeba podniknout k použití atributu @escaping s uzávěrem v definici funkce?

sobes.tech AI

Odpověď od AI

V Swiftu se atribut @escaping používá pro uzávěry (closures), které jsou uloženy a volány po dokončení funkce, ve které jsou předány. Pro použití @escaping je třeba:

  1. V deklaraci funkce před parametrem uzávěru uvést @escaping.
  2. To znamená, že uzávěr může být volán později, například asynchronně.

Příklad:

func fetchData(completion: @escaping () -> Void) {
    DispatchQueue.global().async {
        // Provádíme asynchronní úlohu
        completion() // voláme uzávěr později
    }
}

Bez @escaping kompilátor nepovolí uložit uzávěr pro volání po opuštění funkce.