Junior — Middle
Come si può garantire l'esecuzione di un blocco di codice specifico dopo aver ricevuto risposte da più richieste HTTP?
sobes.tech AI
Risposta dell'AI
In iOS, per eseguire un blocco di codice dopo il completamento di più richieste HTTP, è comodo usare DispatchGroup. Permette di monitorare un gruppo di attività asincrone e di eseguire il codice quando tutte sono terminate.
Esempio 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) {
// Questo blocco verrà eseguito dopo il completamento di tutte le richieste
print("Tutte le richieste sono state completate")
}
In questo modo, DispatchGroup aiuta a sincronizzare più operazioni asincrone e a eseguire il codice dopo il loro completamento.