Sobes.tech
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 @ObservedObject ou @StateObject para 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.