Sobes.tech
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
    }
}