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 από μη κύριο νήμα.