Sobes.tech
Junior — Middle

Como implementar a execução de tarefas em segundo plano numa aplicação?

sobes.tech IA

Resposta da IA

No iOS, para realizar tarefas em segundo plano, pode usar várias abordagens:

  • Grand Central Dispatch (GCD) — permite executar tarefas de forma assíncrona numa thread de fundo, sem bloquear a thread principal da interface de utilizador.

  • OperationQueue — um mecanismo de nível superior baseado em operações (Operation), com capacidade para gerir dependências e prioridades.

  • Background Tasks (BGTaskScheduler) — para tarefas de fundo prolongadas ou periódicas, que o sistema executa quando é mais conveniente.

Exemplo de uso do GCD para uma tarefa em segundo plano:

DispatchQueue.global(qos: .background).async {
    // Operação longa
    let result = performHeavyTask()
    DispatchQueue.main.async {
        // Atualizar a UI com o resultado
        updateUI(with: result)
    }
}

Para tarefas que devem ser executadas quando a aplicação está em segundo plano (por exemplo, carregamento de dados), utiliza-se a API de Background Tasks, registando as tarefas e tratando-as nos controladores apropriados.