Swift Typealias: como usá-los e por quê?

Neste artigo, você aprenderá sobre typealias e seus casos de uso em Swift.

Um alias de tipo permite fornecer um novo nome para um tipo de dados existente em seu programa. Depois que um alias de tipo é declarado, o nome do alias pode ser usado em vez do tipo existente em todo o programa.

O alias de tipo não cria novos tipos. Eles simplesmente fornecem um novo nome para um tipo existente.

O principal objetivo do typealiasé tornar nosso código mais legível e mais claro no contexto para a compreensão humana.

Como criar um typealias?

É declarado usando a palavra-chave typealiascomo:

 typealias name = tipo existente

No Swift, você pode usar typealiaspara a maioria dos tipos. Eles podem ser:

  • Tipos integrados (for.eg: String, Int)
  • Tipos definidos pelo usuário (for.eg: class, struct, enum)
  • Tipos complexos (por exemplo: fechamentos)

Typealias para tipos integrados

Você pode usar typealias para todos os tipos de dados integrados como String, Int, Float etc.

Por exemplo:

 typealias StudentName = String

A declaração acima permite que StudentName seja usado em qualquer lugar em vez de String. Portanto, se você deseja criar uma constante do tipo string, mas representa mais como o nome do aluno. Você pode fazer como:

 deixe o nome: StudentName = "Jack"

Sem usar typealias, você deve declarar a constante do tipo string como:

 deixe o nome: String = "Jack"

Acima de ambos os exemplos cria uma constante de tipo String. Mas declarando com typealias, nosso código se torna mais legível.

Typealias para tipos definidos pelo usuário

Existem muitos casos em que você precisa criar seu próprio tipo de dados. Suponha que você queira criar um Tipo que representa o Aluno, você pode criá-lo usando uma classe como:

 class Student ( ) 

Agora, um grupo de alunos pode ser representado como uma matriz como:

 var students: Array = ()

A declaração acima pode se tornar mais legível criando seu próprio tipo para Arrayusar typealiascomo:

 typealias Students = Array

Agora podemos tornar nosso código mais legível como:

 var alunos: alunos = ()

Typealias para tipos complexos

Vamos analisar mais um exemplo. Suponha que temos um método que recebe um encerramento como parâmetro de entrada.

Não se preocupe se você não souber sobre fechamentos. Pense nisso como um tipo especial de função. Explicamos isso em detalhes no artigo: Encerramentos Swift.

 func someMethod(oncomp:(Int)->(String))( ) 

O exemplo acima usa um encerramento como entrada para someMethod. O fechamento recebe um Intvalor e retorna String.

Você pode ver que o uso de (Int)->(String)faz menos sentido para o leitor. Você pode usar typealiaspara fornecer um novo nome para ele:

 typealias CompletionHandler = (Int) -> (String)

Agora você pode reescrever o método como:

 func someMethod(oncomp:CompletionHandler)( )

Podemos ver que o mesmo código parece mais claro e amigável ao programador com o uso de typealias.

Artigos interessantes...