Junior — Middle
Hogyan működik az állapot követésének mechanizmusa az ObservedObject segítségével?
sobes.tech MI
Válasz az MI-től
SwiftUI-ban a @ObservedObject segítségével történő állapotkövetés mechanizmusa az ObservableObject protokollon és a @Published által történő változások közzétételén alapul.
Amikor egy osztályt ObservableObject-ként jelölnek meg, az értesítheti az előfizetőket a tulajdonságainak változásairól. A @Published-ként jelölt tulajdonságok automatikusan eseményeket generálnak, amikor értékük megváltozik. A SwiftUI komponens, amely @ObservedObject-et használ, feliratkozik ezekre az eseményekre, és újrarajzolódik, amikor azok megtörténnek.
Példa:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
Text("Hello, \(settings.username)!")
}
}
Itt, amikor a username a UserSettings-ben megváltozik, a ContentView felülete automatikusan frissül.