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:
- V deklaraci funkce před parametrem uzávěru uvést
@escaping. - 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.