Junior — Middle
Pode explicar a finalidade e o uso do DispatchQueue.global em Swift?
sobes.tech IA
Resposta da IA
O DispatchQueue.global em Swift é utilizado para executar tarefas numa fila de fundo, sem bloquear a fila principal (UI). Isto permite realizar operações intensivas em recursos (por exemplo, carregar dados, processar ficheiros) de forma assíncrona, garantindo a responsividade da interface.
DispatchQueue.global() devolve uma fila global com um nível de prioridade (QoS) definido, por exemplo:
.userInteractive— para tarefas que afetam a UI e requerem resposta imediata..userInitiated— para tarefas iniciadas pelo utilizador que devem ser concluídas rapidamente..utility— para tarefas de fundo prolongadas..background— para tarefas de baixa prioridade.
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)
}
}
Assim, DispatchQueue.global ajuda a gerir eficientemente a multitarefa e a manter o funcionamento fluido da aplicação.