Sobes.tech
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.