Sobes.tech
Junior — Middle

Como pode implementar a execução assíncrona de tarefas no iOS usando Grand Central Dispatch?

sobes.tech IA

Resposta da IA

Grand Central Dispatch (GCD) é uma API de baixo nível no iOS para gerir a execução assíncrona de tarefas através de filas.

Para executar uma tarefa de forma assíncrona com GCD, pode usar a função dispatch_async, que coloca um bloco de código na fila especificada e devolve imediatamente o controlo, sem bloquear o thread atual.

Exemplo de uso:

DispatchQueue.global(qos: .background).async {
    // Operação longa, por exemplo, carregar dados
    let data = fetchDataFromNetwork()
    
    DispatchQueue.main.async {
        // Atualizar a UI no thread principal
        self.updateUI(with: data)
    }
}

Aqui:

  • DispatchQueue.global(qos: .background) — fila global em segundo plano para tarefas pesadas.
  • async — execução assíncrona do bloco.
  • Dentro do bloco, após completar o trabalho em segundo plano, mudamos para o thread principal para atualizar a UI.

Assim, o GCD permite executar tarefas em segundo plano facilmente, sem bloquear a interface, e regressar ao thread principal para atualizar a UI.