Junior — Middle
Welke stappen moeten worden gevolgd om het @escaping-attribuut te gebruiken met een afsluiting in de functiedefinitie?
sobes.tech AI
Antwoord van AI
In Swift wordt het attribuut @escaping gebruikt voor closures die worden opgeslagen en worden aangeroepen nadat de functie waarin ze worden doorgegeven is voltooid. Om @escaping te gebruiken:
- In de functiebeschrijving, vóór de closure-parameter,
@escapingaangeven. - Dit betekent dat de closure later kan worden aangeroepen, bijvoorbeeld asynchroon.
Voorbeeld:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Voer een asynchrone taak uit
completion() // roep de closure later aan
}
}
Zonder @escaping staat de compiler niet toe dat de closure wordt opgeslagen om later te worden aangeroepen nadat de functie is verlaten.