Sobes.tech
Junior — Middle

Какви указания трябва да се дават при използване на MainActor?

sobes.tech AI

Отговор от AI

@MainActor в Swift се използва за обозначаване, че кодът трябва да се изпълнява на главния поток, което е важно за актуализиране на UI и други операции, изискващи главния поток. Основни указания при използване на MainActor:

  • Отбележете класове, структури, функции или свойства с @MainActor, за да гарантирате изпълнение на главния поток.
  • За асинхронни функции можете да използвате @MainActor заедно с async.
  • Ако извиквате функция, маркирана с @MainActor, от друг поток, използвайте await, за да превключите към главния поток.

Пример:

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

    func updateTitle() {
        title = "Обновено"
    }
}

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // превключване към главния поток
}

По този начин, @MainActor помага да се избегнат грешки, свързани с актуализиране на UI не от главния поток.