Tipos de inicializadores en Swift
En Swift, los inicializadores son métodos especiales que se llaman cuando se crea una instancia de una clase, estructura o enumeración. Se utilizan para configurar el estado inicial de la instancia y pueden tomar parámetros para personalizar el proceso de inicialización.
Hay dos tipos de inicializadores en Swift: inicializadores designados e inicializadores de conveniencia. Echemos un vistazo más de cerca a cada uno de ellos y veamos en qué se diferencian.
Inicializadores designados
Los inicializadores designados son la forma principal de inicializar una nueva instancia de una clase, estructura o enumeración. Son responsables de inicializar todas las propiedades de la instancia y deben llamar a un inicializador designado de la superclase antes de hacerlo.
Aquí hay un ejemplo de un inicializador designado para una Person
clase simple:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name self.age = age
}
}
Inicializadores de conveniencia
Los inicializadores de conveniencia son inicializadores secundarios que proporcionan un atajo para inicializar una instancia de una clase, estructura o enumeración. Deben llamar a un inicializador designado de la misma clase antes de hacer cualquier otra cosa. En resumen, lo estamos usando para nuestra conveniencia para inicializar.
Aquí hay un ejemplo de un inicializador de conveniencia para la Person
clase:
class Person {
let name: String
let age: Int
init(name: String, age: Int) {
self.name =name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
Conclusión
En resumen, los inicializadores designados son la forma principal de inicializar una nueva instancia de una clase, estructura o enumeración, y son responsables de inicializar todas las propiedades de la instancia. Los inicializadores de conveniencia proporcionan un atajo para inicializar una instancia con un conjunto específico de parámetros y deben llamar a un inicializador designado de la misma clase antes de hacer cualquier otra cosa.
Al comprender la diferencia entre los inicializadores designados y los de conveniencia, puede escribir un código más eficiente y efectivo, y crear instancias de sus clases, estructuras y enumeraciones con mayor facilidad.
Por favor , aplauda y síganos si le gustó esta publicación.