Middle — Middle+
É possível realizar operações com a interface gráfica fora do thread principal numa aplicação?
sobes.tech IA
Resposta da IA
No iOS, todas as operações com a interface gráfica (UI) devem ser realizadas exclusivamente no thread principal (main thread). Isto deve-se ao fato de que o UIKit não é seguro para threads, e quaisquer alterações na UI feitas a partir de threads em segundo plano podem levar a comportamentos imprevisíveis ou falhas na aplicação.
Se for necessário atualizar a interface após uma tarefa em segundo plano, deve-se voltar ao thread principal, por exemplo, usando DispatchQueue.main.async:
DispatchQueue.global().async {
// Tarefa em segundo plano
let data = fetchData()
DispatchQueue.main.async {
// Atualização da UI
self.label.text = data
}
}