Una base sólida en Swift empieza entendiendo cómo se crean objetos de forma segura. Aquí verás, con ejemplos claros, cómo un inicializador asigna valores a las propiedades desde el primer instante, por qué init es un método especial y cómo convertir entre Fahrenheit, Celsius y Kelvin sin sorpresas. Ideal para practicar en un Playground.
¿Qué es un inicializador en Swift y para qué sirve?
Un inicializador es el punto de arranque de cualquier clase o estructura. En Swift se invoca con init y su misión es dar valores iniciales a las propiedades. Si una propiedad no tiene valor por defecto, el inicializador garantiza que el objeto nace en un estado válido.
En otros lenguajes se habla de “constructor”. En Swift, se usa el término inicializador porque la palabra clave es init.
Durante la creación del objeto, init puede acceder a las variables y modificarlas para establecer el estado inicial.
¿Por qué se llama inicializador y no constructor?
Porque en Swift se invoca con init y, por convención, se le llama inicializador. La idea es la misma: preparar el objeto con valores consistentes.
¿Qué hace durante la creación del objeto?
Asigna valores a cada propiedad necesaria.
Usa self para dejar claro que se modifica la propiedad de la instancia.
Puede tener varias variantes según los datos de entrada.
¿Cómo se implementa init con ejemplos en Fahrenheit y Celsius?
Verlo en código ayuda a fijar los conceptos. Primero, una estructura con una propiedad sin valor por defecto y un init que lo resuelve. Después, una estructura con múltiples inicializadores que convierten desde diferentes escalas.
¿Cómo dar un valor por defecto con init en Fahrenheit?
Problema: si creas una instancia sin valor inicial, la propiedad queda indeterminada. Solución: establecer un valor estándar dentro de init usando self.
structFahrenheit{var temperature:Doubleinit(){self.temperature =32}}var f1 =Fahrenheit()// f1.temperature == 32
Alternativa equivalente: asignar el valor por defecto directamente en la propiedad.
structFahrenheit{var temperature:Double=32}
Punto clave: self asegura que modificas la propiedad de la instancia, no una variable local.
¿Cómo crear varios inicializadores en Celsius desde Fahrenheit y Kelvin?
Cuando una misma estructura puede nacer de datos distintos, conviene definir varios inicializadores. Aquí, dos formulas de conversión precisas: