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