Sobes.tech
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.