En este artículo, aprenderá sobre typealias y sus casos de uso en Swift.
Un alias de tipo le permite proporcionar un nuevo nombre para un tipo de datos existente en su programa. Después de que se declara un alias de tipo, se puede usar el nombre con alias en lugar del tipo existente en todo el programa.
Los alias de tipo no crean nuevos tipos. Simplemente proporcionan un nuevo nombre a un tipo existente.
El objetivo principal de typealias
es hacer que nuestro código sea más legible y más claro en contexto para la comprensión humana.
¿Cómo crear un typealias?
Se declara usando la palabra clave typealias
como:
typealias name = tipo existente
En Swift, puede usar typealias
para la mayoría de los tipos. Pueden ser:
- Tipos integrados (por ejemplo: String, Int)
- Tipos definidos por el usuario (por ejemplo: class, struct, enum)
- Tipos complejos (por ejemplo: cierres)
Typealias para tipos integrados
Puede usar typealias para todos los tipos de datos integrados como String, Int, Float, etc.
Por ejemplo:
typealias StudentName = Cadena
La declaración anterior permite que StudentName se use en todas partes en lugar de String
. Entonces, si desea crear una constante de tipo cadena pero representa más como el nombre del estudiante. Puedes hacer como:
let name: StudentName = "Jack"
Sin usar typealias, debe declarar constante de tipo cadena como:
let name: String = "Jack"
Los dos ejemplos anteriores crean una constante de tipo String
. Pero declarando con typealias
, nuestro código se vuelve más legible.
Typealias para tipos definidos por el usuario
Hay muchos casos en los que necesita crear su propio tipo de datos. Suponga que desea crear un tipo que represente al estudiante, puede crearlo usando una clase como:
class Student ( )
Ahora, un grupo de estudiantes se puede representar como una matriz como:
estudiantes var: Array = ()
La declaración anterior se puede hacer más legible creando su propio tipo para Array
usar typealias
como:
typealias Students = Array
Ahora podemos hacer que nuestro código sea más legible como:
var estudiantes: Estudiantes = ()
Typealias para tipos complejos
Analicemos un ejemplo más. Supongamos que tenemos un método que toma un cierre como parámetro de entrada.
No se preocupe si no conoce los cierres. Piense en ello como un tipo especial de función. Lo hemos explicado detalladamente en el artículo: Cierres rápidos.
func someMethod(oncomp:(Int)->(String))( )
El ejemplo anterior toma un cierre como entrada a someMethod
. El cierre toma Int
valor y vuelve String
.
Puede ver que el uso de (Int)->(String)
tiene menos sentido para el lector. Puede utilizar typealias
para proporcionarle un nuevo nombre:
typealias CompletionHandler = (Int) -> (String)
Ahora puede reescribir el método como:
func someMethod(oncomp:CompletionHandler)( )
Podemos ver que el mismo código se ve más claro y amigable para el programador con el uso de typealias
.