Sobes.tech
Junior — Middle

Πώς λειτουργεί ο μηχανισμός παρακολούθησης της κατάστασης με το ObservedObject;

sobes.tech AI

Απάντηση από AI

Στο SwiftUI, ο μηχανισμός παρακολούθησης κατάστασης με @ObservedObject βασίζεται στο πρωτόκολλο ObservableObject και στη δημοσίευση αλλαγών μέσω @Published.

Όταν μια κλάση σημειώνεται ως ObservableObject, μπορεί να ειδοποιεί τους συνδρομητές της για αλλαγές στις ιδιότητές της. Οι ιδιότητες που σημειώνονται ως @Published δημιουργούν αυτόματα γεγονότα όταν αλλάζει η τιμή τους. Το στοιχείο SwiftUI που χρησιμοποιεί @ObservedObject εγγράφεται σε αυτά τα γεγονότα και ανασχεδιάζεται όταν συμβαίνουν.

Παράδειγμα:

class UserSettings: ObservableObject {
    @Published var username: String = "Guest"
}

struct ContentView: View {
    @ObservedObject var settings = UserSettings()

    var body: some View {
        Text("Hello, \(settings.username)!")
    }
}

Εδώ, όταν αλλάξει το username στο UserSettings, η διεπαφή του ContentView θα ενημερωθεί αυτόματα.