Junior — Middle
Kako istovremeno šalješ deset mrežnih zahteva koristeći GCD?
sobes.tech АИ
Одговор од АИ
Za slanje deset mrežnih zahteva istovremeno koristeći GCD (Grand Central Dispatch) u iOS, možete kreirati grupu zadataka DispatchGroup i dodati u nju asinhrone zahteve. Ovo će omogućiti pokretanje svih zahteva paralelno i praćenje njihovog završetka.
Primer u Swift-u:
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
// Obrada odgovora
print("Zahtev \(i) završen")
dispatchGroup.leave()
}
task.resume()
}
dispatchGroup.notify(queue: .main) {
print("Svi zahtevi su završeni")
}
Ovaj pristup omogućava efikasno upravljanje paralelnim zadacima i izvršavanje koda nakon završetka svih zahteva.