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