Sobes.tech
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.