Junior — Middle
Kā darbojas stāvokļa uzraudzības mehānisms ar ObservedObject?
sobes.tech AI
Atbilde no AI
SwiftUI mehānisms stāvēt stāvokli ar @ObservedObject ir balstīts uz ObservableObject protokolu un izmaiņu publicēšanu caur @Published.
Kad klase ir atzīmēta kā ObservableObject, tā var paziņot par izmaiņām savās īpašībās. Īpašības, kas atzīmētas ar @Published, automātiski ģenerē notikumus, kad to vērtība mainās. SwiftUI komponenta, kas izmanto @ObservedObject, abonē šos notikumus un tiek pārkrāsots, kad tie notiek.
Piemērs:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
Text("Hello, \(settings.username)!")
}
}
Šeit, kad username mainās UserSettings, ContentView interfeiss automātiski tiek atjaunināts.