Tipologie rapide: come usarle e perché?

In questo articolo imparerai a conoscere le tipealie e i suoi casi d'uso in Swift.

Un alias di tipo consente di fornire un nuovo nome per un tipo di dati esistente nel programma. Dopo la dichiarazione di un alias di tipo, il nome con alias può essere utilizzato al posto del tipo esistente in tutto il programma.

Gli alias di tipo non creano nuovi tipi. Forniscono semplicemente un nuovo nome a un tipo esistente.

Lo scopo principale di typealiasè quello di rendere il nostro codice più leggibile e più chiaro nel contesto per la comprensione umana.

Come creare un typealias?

Viene dichiarato utilizzando la parola chiave typealiascome:

 nome typealias = tipo esistente

In Swift, puoi usare typealiasper la maggior parte dei tipi. Possono essere:

  • Tipi incorporati (per.eg: String, Int)
  • Tipi definiti dall'utente (per.eg: class, struct, enum)
  • Tipi complessi (ad esempio: chiusure)

Tipologie per tipi incorporati

Puoi usare typealias per tutti i tipi di dati incorporati come String, Int, Float ecc.

Per esempio:

 typealias StudentName = String

La dichiarazione precedente consente di utilizzare StudentName ovunque anziché String. Quindi, se vuoi creare una costante di tipo stringa ma rappresenta più come il nome dello studente. Puoi fare come:

 let name: StudentName = "Jack"

Senza usare typealias, dovresti dichiarare la costante di tipo stringa come:

 let name: String = "Jack"

Sopra entrambi gli esempi viene creata una costante di tipo String. Ma dichiarando con typealias, il nostro codice diventa più leggibile.

Tipologie per tipi definiti dall'utente

Ci sono molti casi in cui è necessario creare il proprio tipo di dati. Supponi di voler creare un tipo che rappresenta lo studente, puoi crearlo utilizzando una classe come:

 class Student ( ) 

Ora un gruppo di studenti può essere rappresentato come un array come:

 var studenti: Array = ()

La dichiarazione di cui sopra può essere resa più leggibile creando il proprio tipo da Arrayutilizzare typealiascome:

 typealias Students = Array

Ora possiamo rendere il nostro codice più leggibile come:

 var students: Students = ()

Tipealie per tipi complessi

Analizziamo un altro esempio. Supponiamo di avere un metodo che accetta una chiusura come parametro di input.

Non preoccuparti se non conosci le chiusure. Basta pensarlo come un tipo speciale di funzione. Lo abbiamo spiegato in dettaglio nell'articolo: chiusure rapide.

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

L'esempio precedente accetta una chiusura come input per someMethod. La chiusura assume un Intvalore e ritorna String.

Puoi vedere che l'uso di (Int)->(String)ha meno senso per il lettore. Puoi utilizzare typealiasper fornire un nuovo nome per esso:

 typealias CompletionHandler = (Int) -> (String)

Ora puoi riscrivere il metodo come:

 func someMethod(oncomp:CompletionHandler)( )

Possiamo vedere che lo stesso codice sembra più chiaro e facile da programmare con l'uso di typealias.

Articoli interessanti...