Sobes.tech
Junior — Middle

¿Puede explicar el principio de funcionamiento del objeto ObservableObject y su papel en la programación reactiva?

sobes.tech AI

Respuesta de la IA

ObservableObject es un protocolo en SwiftUI que permite a un objeto notificar a los suscriptores sobre cambios en sus datos. Es un elemento clave de la programación reactiva, donde la interfaz de usuario se actualiza automáticamente cuando cambia el estado del modelo.

Cuando una clase cumple con ObservableObject y marca sus propiedades con @Published, cualquier cambio en estas propiedades genera notificaciones, y las vistas de SwiftUI relacionadas se actualizan.

Ejemplo:

import SwiftUI
import Combine

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

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

    var body: some View {
        TextField("Username", text: $settings.username)
        Text("Hola, \(settings.username)!")
    }
}

Aquí, al cambiar el nombre de usuario, el texto en la interfaz se actualizará automáticamente. De esta manera, ObservableObject conecta el modelo y la vista, asegurando una actualización reactiva de la UI.