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