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