Junior — Middle
Jak současně odešleš deset síťových požadavků pomocí GCD?
sobes.tech AI
Odpověď od AI
Pro odeslání deseti síťových požadavků současně pomocí GCD (Grand Central Dispatch) v iOS můžete vytvořit skupinu úloh DispatchGroup a přidat do ní asynchronní požadavky. To umožní spustit všechny požadavky paralelně a sledovat jejich dokončení.
Příklad v Swift:
let dispatchGroup = DispatchGroup()
for i in 1...10 {
dispatchGroup.enter()
let url = URL(string: "https://example.com/request\(i)")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
// Zpracování odpovědi
print("Požadavek \(i) dokončen")
dispatchGroup.leave()
}
task.resume()
}
dispatchGroup.notify(queue: .main) {
print("Všechny požadavky jsou dokončeny")
}
Tento přístup umožňuje efektivně spravovat paralelní úkoly a spouštět kód po dokončení všech požadavků.