Junior — Middle
Pode explicar o princípio de funcionamento do objeto ObservableObject e o seu papel na programação reativa?
sobes.tech IA
Resposta da IA
ObservableObject é um protocolo no SwiftUI que permite a um objeto notificar os assinantes sobre alterações nos seus dados. É um elemento-chave da programação reativa, onde a interface do utilizador atualiza automaticamente quando o estado do modelo muda.
Quando uma classe conforma-se ao ObservableObject e marca as suas propriedades com @Published, quaisquer alterações nessas propriedades acionam notificações, e as vistas SwiftUI relacionadas atualizam-se.
Exemplo:
import SwiftUI
import Combine
class UserSettings: ObservableObject {
@Published var username: String = ""
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
TextField("Nome de utilizador", text: $settings.username)
Text("Olá, \(settings.username)!")
}
}
Aqui, ao alterar o nome de utilizador, o texto na interface atualiza-se automaticamente. Assim, o ObservableObject liga o modelo à vista, garantindo uma atualização reativa da UI.