Sobes.tech
Junior — Middle

Jak działa mechanizm śledzenia stanu za pomocą ObservedObject?

sobes.tech AI

Odpowiedź od AI

W SwiftUI mechanizm śledzenia stanu za pomocą @ObservedObject opiera się na protokole ObservableObject i publikowaniu zmian za pomocą @Published.

Gdy klasa jest oznaczona jako ObservableObject, może powiadamiać subskrybentów o zmianach swoich właściwości. Właściwości oznaczone jako @Published automatycznie generują zdarzenia przy zmianie wartości. Komponent SwiftUI korzystający z @ObservedObject subskrybuje te zdarzenia i jest ponownie rysowany, gdy się pojawią.

Przykład:

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

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

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

Tutaj, gdy username w UserSettings się zmieni, interfejs ContentView zostanie automatycznie odświeżony.