Назад к вопросам
Junior — Middle
79
Какие указания нужно делать при использовании MainActor?
Ответ от нейросети
sobes.tech AI
@MainActor в Swift используется для обозначения, что код должен выполняться на главном потоке, что важно для обновления UI и других операций, требующих главного потока. Основные указания при использовании MainActor:
- Аннотируйте классы, структуры, функции или свойства с помощью
@MainActor, чтобы гарантировать выполнение на главном потоке. - Для асинхронных функций можно использовать
@MainActorвместе сasync. - Если вызываете функцию, помеченную
@MainActor, из другого потока, используйтеawaitдля переключения на главный поток.
Пример:
@MainActor
class ViewModel {
var title: String = ""
func updateTitle() {
title = "Updated"
}
}
func someBackgroundTask() async {
let vm = ViewModel()
await vm.updateTitle() // переключение на главный поток
}
Таким образом, @MainActor помогает избежать ошибок, связанных с обновлением UI не из главного потока.