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 θα ενημερωθεί αυτόματα.