Sobes.tech
Junior — Middle
101

¿Cómo envías diez solicitudes de red al mismo tiempo usando GCD?

Empresas donde se preguntó
Магнит Тех

Respuesta de la IA

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("Все запросы завершены")
}

Такой подход позволяет эффективно управлять параллельными задачами и выполнять код после завершения всех запросов.