Junior — Middle
Pode explicar o que é um ObservableObject no contexto do SwiftUI e como é utilizado para gerir o estado?
sobes.tech IA
Resposta da IA
ObservableObject em SwiftUI é um protocolo que permite criar objetos com um estado observável. Quando as propriedades desse objeto mudam, o SwiftUI atualiza automaticamente as vistas relacionadas.
Para usar ObservableObject, é necessário:
- Criar uma classe que herde de
ObservableObject. - Marcar as propriedades que devem ser observadas com a anotação
@Published. - Na vista, usar uma propriedade com a anotação
@ObservedObjectou@StateObjectpara subscrever às mudanças.
Exemplo:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@StateObject var settings = UserSettings()
var body: some View {
VStack {
Text("Hello, \(settings.username)!")
TextField("Username", text: $settings.username)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding()
}
}
}
Neste exemplo, ao alterar username, o texto na interface atualiza-se automaticamente.