Junior — Middle
Как изпращаш десет мрежови заявки едновременно, използвайки GCD?
sobes.tech AI
Отговор от AI
За изпращане на десет мрежови заявки едновременно с GCD (Grand Central Dispatch) в iOS, можете да създадете група задачи DispatchGroup и да добавите към нея асинхронни заявки. Това ще позволи да стартирате всички заявки паралелно и да следите тяхното завършване.
Пример на 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
// Обработка на отговора
print("Заявка \(i) завърши")
dispatchGroup.leave()
}
task.resume()
}
dispatchGroup.notify(queue: .main) {
print("Всички заявки са завършени")
}
Този подход позволява ефективно управление на паралелните задачи и изпълнение на код след завършването на всички заявки.