Sobes.tech
Junior — Middle

Hoe kun je de uitvoering van een specifiek codeblok garanderen nadat je antwoorden hebt ontvangen van meerdere HTTP-verzoeken?

sobes.tech AI

Antwoord van AI

In iOS, om een codeblok uit te voeren nadat meerdere HTTP-verzoeken zijn voltooid, is het handig om DispatchGroup te gebruiken. Het stelt je in staat om een groep asynchrone taken te volgen en code uit te voeren wanneer ze allemaal zijn voltooid.

Voorbeeld in Swift:

let dispatchGroup = DispatchGroup()

var results: [Data] = []

for url in urls {
    dispatchGroup.enter()
    URLSession.shared.dataTask(with: url) { data, response, error in
        if let data = data {
            results.append(data)
        }
        dispatchGroup.leave()
    }.resume()
}

dispatchGroup.notify(queue: .main) {
    // Deze blok wordt uitgevoerd nadat alle verzoeken zijn voltooid
    print("Alle verzoeken zijn voltooid")
}

Op deze manier helpt DispatchGroup om meerdere asynchrone operaties te synchroniseren en code uit te voeren na hun voltooiing.