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.