Junior — Middle
Ako odošleš desať sieťových požiadaviek súčasne pomocou GCD?
sobes.tech AI
Odpoveď od AI
Za odoslanie desiatich sieťových požiadaviek súčasne pomocou GCD (Grand Central Dispatch) v iOS môžete vytvoriť skupinu úloh DispatchGroup a pridať do nej asynchrónne požiadavky. To umožní spustiť všetky požiadavky paralelne a sledovať ich dokončenie.
Prí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
// Spracovanie odpovede
print("Žiadosť \(i) dokončená")
dispatchGroup.leave()
}
task.resume()
}
dispatchGroup.notify(queue: .main) {
print("Všetky požiadavky sú dokončené")
}
Tento prístup umožňuje efektívne riadiť paralelné úlohy a vykonávať kód po dokončení všetkých požiadaviek.