Sobes.tech
Junior — Middle

Como funciona o mecanismo de monitorização do estado com ObservedObject?

sobes.tech IA

Resposta da IA

No SwiftUI, o mecanismo de rastreamento de estado usando @ObservedObject baseia-se no protocolo ObservableObject e na publicação de alterações através de @Published.

Quando uma classe é marcada como ObservableObject, ela pode notificar os assinantes sobre alterações nas suas propriedades. As propriedades marcadas como @Published geram automaticamente eventos quando o seu valor muda. O componente SwiftUI que usa @ObservedObject subscreve-se a esses eventos e é redesenhado quando eles ocorrem.

Exemplo:

class UserSettings: ObservableObject {
    @Published var username: String = "Guest"
}

struct ContentView: View {
    @ObservedObject var settings = UserSettings()

    var body: some View {
        Text("Hello, \(settings.username)!")
    }
}

Aqui, ao alterar username em UserSettings, a interface de ContentView atualiza-se automaticamente.