Sobes.tech
Junior — Middle

Cum se poate asigura executarea unui bloc de cod specific după primirea răspunsurilor de la mai multe solicitări HTTP?

sobes.tech AI

Răspuns de la AI

În iOS, pentru a executa un bloc de cod după finalizarea mai multor solicitări HTTP, este convenabil să folosiți DispatchGroup. Acesta permite urmărirea unui grup de sarcini asincrone și executarea codului atunci când toate acestea sunt finalizate.

Exemplu în 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) {
    // Acest bloc va fi executat după finalizarea tuturor solicitărilor
    print("Toate solicitările au fost finalizate")
}

Astfel, DispatchGroup ajută la sincronizarea mai multor operații asincrone și la executarea codului după finalizarea acestora.