English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este artículo, aprenderás sobre los alias de tipo en Swift y sus casos de uso.
El alias de tipo permite que definas tipos existentes en tu programaTipos de datosProporcionar un nuevo nombre. Después de declarar el alias de tipo, se puede usar el nombre de alias en todo el programa en lugar del tipo existente.
El alias de tipo no crea un nuevo tipo. Simplemente proporciona un nuevo nombre para un tipo existente.
El objetivo principal del alias de tipo es hacer que nuestro código sea más legible y más claro en el contexto, para que sea más comprensible para los humanos.
Se declara usando la palabra clave typealias:
typealias name = existing type
En Swift, la mayoría de los tipos pueden usar typealias. Pueden ser:
Tipos integrados(por ejemplo: String, Int)
Tipos definidos por el usuario(por ejemplo: clases, estructuras, enumeraciones)
Tipos complejos(por ejemplo: closures)
Puedes usar typealias para todos los tipos de datos integrados, como String, Int, Float, etc.
Por ejemplo:
typealias StudentName = String
La declaración anterior permite
let name:StudentName = "Jack"
Sin usar typealias, se debe declarar la constante de tipo String de la siguiente manera:
let name:String = "Jack"
En los dos ejemplos anteriores, se crea una constante de tipo String. Pero al declarar con typealias, nuestro código es más legible.
En muchos casos, necesitas crear tus propios tipos de datos. Supongamos que quieres crear un tipo que represente a Student, puedes usar la siguiente clase para crearlo:
class Student { }
Ahora, un grupo de estudiantes puede representarse como un array:
var students:Array<Student> = []
Al usar typealias para crear su propio tipo de Array<Student>, se puede hacer que la declaración anterior sea más legible:
typealias Students = Array<Student>
Ahora, podemos hacer que el código sea más legible:
var students:Students = []
Vamos a analizar otro ejemplo. Supongamos que tenemos un método que toma un closure como parámetro de entrada.
Si no conoce los closures, no se preocupe. Simplemente véalos como una función especial.
func someMethod(oncomp: (Int)->(String)){ }
El ejemplo anterior toma un closure como entrada de someMethod. Este closure toma un valor de Int y devuelve un String.
Puede ver (Int)-El uso de (String) no tiene mucho sentido para los desarrolladores. Puede usar typealias para proporcionar un nuevo nombre:
typealias CompletionHandler = (Int)->(String)
Ahora, puede reescribir el método como:
func someMethod(oncomp: CompletionHandler){ }
Podemos ver que, utilizando typealias, el código se ve más claro y amigable para los programadores.