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ń.