Sobes.tech
Junior — Middle

Kako funkcioniše mehanizam praćenja stanja pomoću ObservedObject?

sobes.tech АИ

Одговор од АИ

Механизам за праћење стања у 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 ће се аутоматски ажурирати.