Junior — Middle
Como é que envias dez pedidos de rede ao mesmo tempo usando GCD?
sobes.tech IA
Resposta da IA
Para enviar dez pedidos de rede simultaneamente usando GCD (Grand Central Dispatch) no iOS, pode criar um grupo de tarefas DispatchGroup e adicionar pedidos assíncronos a ele. Isto permitirá iniciar todos os pedidos em paralelo e acompanhar a sua conclusão.
Exemplo em 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
// Processamento da resposta
print("Pedido \(i) concluído")
dispatchGroup.leave()
}
task.resume()
}
dispatchGroup.notify(queue: .main) {
print("Todos os pedidos foram concluídos")
}
Esta abordagem permite gerir tarefas paralelas de forma eficiente e executar código após a conclusão de todos os pedidos.