Junior — Middle
Σε ποιες περιπτώσεις συνιστάται η χρήση της ιδιότητας @ObservedObject στο SwiftUI για την παρακολούθηση αλλαγών δεδομένων;
sobes.tech AI
Απάντηση από AI
Η ιδιότητα @ObservedObject στο SwiftUI συνιστάται όταν η προβολή (View) εξαρτάται από ένα εξωτερικό αντικείμενο που υλοποιεί το πρωτόκολλο ObservableObject και μπορεί να αλλάξει τα δεδομένα του. Αυτό επιτρέπει στην προβολή να ενημερώνεται αυτόματα όταν αλλάζουν τα δεδομένα στο αντικείμενο.
Εφαρμόζεται αν:
- Το αντικείμενο δημιουργείται εκτός της τρέχουσας προβολής και του περνάει.
- Πρέπει να παρακολουθείτε αλλαγές δεδομένων που μπορεί να συμβούν εκτός της τρέχουσας προβολής.
Παράδειγμα:
class UserSettings: ObservableObject {
@Published var score = 0
}
struct ScoreView: View {
@ObservedObject var settings: UserSettings
var body: some View {
Text("Score: \(settings.score)")
}
}
Εδώ, το ScoreView θα ενημερώνεται όταν αλλάξει το score στο UserSettings, αν το αντικείμενο έχει περαστεί στην προβολή από έξω.