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