Sobes.tech
Junior — Middle

Jak wysyłasz dziesięć zapytań sieciowych jednocześnie, używając GCD?

sobes.tech AI

Odpowiedź od AI

Aby wysłać dziesięć żądań sieciowych jednocześnie za pomocą GCD (Grand Central Dispatch) w iOS, możesz utworzyć grupę zadań DispatchGroup i dodać do niej asynchroniczne żądania. To pozwoli uruchomić wszystkie żądania równolegle i śledzić ich zakończenie.

Przykład w 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
        // Przetwarzanie odpowiedzi
        print("Żądanie \(i) zakończone")
        dispatchGroup.leave()
    }
    task.resume()
}

dispatchGroup.notify(queue: .main) {
    print("Wszystkie żądania zostały zakończone")
}

Ten sposób pozwala efektywnie zarządzać równoległymi zadaniami i wykonywać kod po zakończeniu wszystkich żądań.