Binding es uno de los varios contenedores de propiedades que SwiftUI nos presenta para controlar el flujo de datos en la aplicación. Binding nos proporciona una referencia como acceso a un tipo de valor.
Binding se utiliza cuando se desea vincular un valor u objeto que pertenece a una vista diferente.
Utilizamos @Binding para propagar el valor de una propiedad entre diferentes vistas. Por ejemplo, pasar una variable de la vista A a B. Esto permite su interconexión de estados dando así la posibilidad de que los datos estén siempre actualizados entre todas las vistas que usen esa propiedad.
Para usar @Binding primero defines una propiedad con el wrapper @Binding y entonces pasas el enlace a otra vista como argumento con el símbolo $. La otra vista puede usar el enlace para leer y escribir datos desde la vista original.
La palabra clave @Binding en SwiftUI es un contenedor de propiedades, lo que significa que envuelve una propiedad con alguna funcionalidad adicional. En el caso de @Binding, está sintetizando un valor de tipo Binding, donde Value es el tipo de datos que estás vinculando.
Un binding en SwiftUI es una conexión entre un valor y una vista que lo muestra y lo modifica. Puedes crear tus propios bindings con el contenedor de propiedades @Binding y pasar bindings a las vistas que los requieran. Como su nombre lo indica, una conexión entre dos cosas. En SwiftUI, un binding se ubica entre una propiedad que almacena datos y una vista que muestra y modifica esos datos.
Cuando utilizas @Binding, básicamente estás creando una conexión en vivo entre los datos de la vista principal y los datos de la vista secundaria. Esto significa que cualquier cambio que realices en los datos dentro de la vista secundaria se reflejará instantáneamente en la vista principal y viceversa. ¡Es como tener una función de sincronización en tiempo real para tus datos!
@Binding var text: StringLa propiedad a la que se le asigna la directiva @Binding servirá como una especie de proxy para la vista que necesita acceder a la “fuente de la verdad”, que, en la mayoría de los casos, es una propiedad del padre. A esa propiedad se le asignaría una directiva @State que indica que el valor que contiene está vinculado al estado de la vista.
El objetivo de esto es vincular elementos interactivos entre una jerarquía de vistas y estados persistentes para habilitar la funcionalidad. Piensa en esto como las conexiones de Storyboard que tenías que hacer manualmente, pero ahora realmente tiene sentido.
La vista en SwiftUI puede contener varias vistas secundarias. Es posible que desees comunicarte con esas vistas secundarias o que desees que una vista secundaria cambie el valor de la vista principal.
Con @Binding, puedes pasar el valor de la variable @State de la vista principal a la vista secundaria y, si la vista secundaria modifica, muta o cambia el valor de @State, la vista principal obtendrá automáticamente el valor actualizado y volverá a renderizar la vista.
Esto significa que puedes actualizar la vista principal desde la vista secundaria simplemente cambiando el valor de la variable @State de la vista principal en la vista secundaria mediante @Binding.










