¿Qué es una lazy var?

Autor: | Última modificación: 3 de noviembre de 2023 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En el mundo de la programación, especialmente en el desarrollo de aplicaciones móviles, nos encontramos con diversos conceptos y terminologías. Uno de ellos es el de lazy var. Si alguna vez te has preguntado qué significa este término y cómo se aplica en el desarrollo de software, estás en el lugar correcto, porque a continuación te lo explicamos.

Lazy var

Introducción a las stored properties y las lazy vars

Antes de sumergirnos en el concepto de lazy vars, es importante entender el concepto de stored property (propiedad almacenada) en Swift. Una stored property es una variable o constante que se almacena como parte de una instancia de una clase o estructura. Estas propiedades se inicializan normalmente cuando se crea una instancia de la clase o estructura.

🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴

Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana

¿Qué pasa si no queremos inicializar una propiedad de inmediato? Aquí es donde entra en juego este concepto. Una lazy var (variable diferida) es una forma de declarar una stored property que no se inicializa hasta que se accede a ella por primera vez. En otras palabras, una lazy var retrasa la inicialización de una propiedad hasta el momento en que se necesita.

¿Cómo funciona una lazy var?

Cuando se declaran las lazy vars, su valor no se asigna de inmediato. En su lugar, se guarda una clausura (closure) o una función que se utilizará para inicializar la propiedad cuando se acceda a ella por primera vez. La inicialización se realiza solo una vez y el valor se almacena en caché para su uso posterior. Esto significa que la inicialización se realiza de forma diferida, solo cuando es necesario.

La sintaxis para declararla es la siguiente:

lazy var propertyName: PropertyType = {
    // Código de inicialización
    // Retorno del valor inicializado
}()

Aquí, propertyName es el nombre de la variable, PropertyType es el tipo de datos de la propiedad y el código dentro de las llaves {} es la clausura o función de inicialización.

Ventajas de usar lazy vars

Estas variables ofrecen algunas ventajas importantes en el desarrollo de aplicaciones móviles:

  1. Eficiencia en el uso de recursos. Al retrasar la inicialización de una propiedad hasta que se acceda a ella, evitan la asignación innecesaria de recursos.
  2. Mejora del rendimiento. Al diferir la inicialización hasta el momento necesario, se puede mejorar el rendimiento de la aplicación, ya que las propiedades que no se utilizan nunca se inicializan.
  3. Uso flexible. Las lazy vars permiten tener propiedades opcionales que se inicializan solo cuando se necesitan.

Escenarios de uso de lazy vars

Las lazy vars son útiles en una variedad de situaciones. Aquí hay algunos escenarios comunes en los que se recomienda su uso:

  • Inicialización costosa. Si una propiedad requiere una inicialización costosa, como la descarga de datos o la carga de una imagen grande, es preferible utilizar una lazy var. De esta manera, se evita la inicialización hasta que la propiedad sea realmente necesaria, ahorrando recursos y mejorando el rendimiento.
  • Propiedades opcionales. Si se tiene una propiedad que podría no tener un valor inicial en el momento de la creación de la instancia, se puede declarar como una lazy var y proporcionar su inicialización cuando sea necesario. Esto es especialmente útil cuando se trabaja con propiedades que se llenarán más adelante en el flujo de ejecución.
  • Dependencias tardías. En algunos casos, es posible que una propiedad dependa de otras propiedades que se inicializan después de la creación de la instancia. En tales casos, se puede utilizar una lazy var para diferir la inicialización hasta que todas las dependencias estén disponibles.

¿Qué sigue?

Si estás interesado en adentrarte en el desarrollo de aplicaciones móviles y quieres aprender más a nivel teórico y práctico sobre este mundillo, te invitamos a unirte al Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. Al completar esta formación intensiva e íntegra, te convertirás en un desarrollador de aplicaciones móviles Full Stack altamente capacitado, preparado para enfrentar los desafíos del sector tecnológico. El sector IT ofrece una alta demanda de profesionales, salarios competitivos y una estabilidad laboral que otros sectores no pueden igualar. ¡No te lo pierdas y pide ya más información!

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado