Junior — Middle
Como implementar a execução assíncrona de tarefas em iOS usando OperationQueue?
sobes.tech IA
Resposta da IA
No iOS, para a execução assíncrona de tarefas, pode usar a classe OperationQueue, que gere uma fila de objetos Operation.
Principais passos:
- Crie uma subclasse de
Operationou useBlockOperationpara definir a tarefa. - Adicione a operação à fila
OperationQueue. - A fila executará as operações em segundo plano, permitindo não bloquear a thread principal da interface de utilizador.
Exemplo de uso de OperationQueue com BlockOperation:
let queue = OperationQueue()
let operation = BlockOperation {
// Tarefa longa
for i in 1...5 {
print("Passo \(i) em execução")
Thread.sleep(forTimeInterval: 1)
}
print("Tarefa concluída")
}
queue.addOperation(operation)
Se precisar atualizar a UI após a execução da operação, isso é feito através do thread principal:
operation.completionBlock = {
OperationQueue.main.addOperation {
// Atualização da UI
print("Atualizando a interface")
}
}
OperationQueue permite gerir prioridades, dependências e o número de tarefas que são executadas simultaneamente, o que é útil para cenários assíncronos complexos.