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 не от главния поток.