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.