Назад к вопросам
Junior — Middle
76
Как ты отправляешь десять сетевых запросов одновременно, используя GCD?
Компании, где спрашивали
Магнит Тех
Ответ от нейросети
sobes.tech 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("Request \(i) completed")
dispatchGroup.leave()
}
task.resume()
}
dispatchGroup.notify(queue: .main) {
print("Все запросы завершены")
}
Такой подход позволяет эффективно управлять параллельными задачами и выполнять код после завершения всех запросов.