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 автоматӣ нав карда мешавад.