Sobes.tech
Junior — Middle

Que indicações devem ser feitas ao usar o MainActor?

sobes.tech IA

Resposta da IA

O @MainActor em Swift é usado para indicar que o código deve ser executado na thread principal, o que é importante para atualizar a interface do usuário e outras operações que requerem a thread principal. Principais indicações ao usar MainActor:

  • Anote classes, estruturas, funções ou propriedades com @MainActor para garantir a execução na thread principal.
  • Para funções assíncronas, pode usar @MainActor junto com async.
  • Se chamar uma função marcada com @MainActor de outra thread, use await para mudar para a thread principal.

Exemplo:

@MainActor
class ViewModel {
    var title: String = ""

    func updateTitle() {
        title = "Atualizado"
    }
}

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // troca para a thread principal
}

Assim, @MainActor ajuda a evitar erros relacionados à atualização da UI de uma thread que não seja a principal.