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

  1. In de functiebeschrijving, vóór de closure-parameter, @escaping aangeven.
  2. 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.