Swift Typealias: Hvordan bruke dem og hvorfor?

I denne artikkelen vil du lære om typealias og brukssaker i Swift.

Et typealias lar deg oppgi et nytt navn for en eksisterende datatype i programmet ditt. Etter at et typealias er erklært, kan det aliaserte navnet brukes i stedet for den eksisterende typen gjennom hele programmet.

Type alias oppretter ikke nye typer. De gir ganske enkelt et nytt navn til en eksisterende type.

Hovedformålet med typealiaser å gjøre koden vår mer lesbar og tydeligere i sammenheng for menneskelig forståelse.

Hvordan lage typealias?

Det blir erklært ved hjelp av nøkkelordet typealiassom:

 typealias navn = eksisterende type

I Swift kan du bruke typealiasfor de fleste typer. De kan være enten:

  • Innebygde typer (for.eg: String, Int)
  • Brukerdefinerte typer (for.eg: klasse, struktur, enum)
  • Komplekse typer (for eksempel: nedleggelser)

Typealias for innebygde typer

Du kan bruke typealias for alle innebygde datatyper som String, Int, Float etc.

For eksempel:

 typealias StudentName = Streng

Ovennevnte erklæring tillater at Studentnavn kan brukes overalt i stedet for String. Så hvis du vil lage en konstant type streng, men representerer mer som studentnavn. Du kan gjøre som:

 la navn: StudentName = "Jack"

Uten å bruke typealias, bør du erklære konstant for typestrengen som:

 la navn: String = "Jack"

Over begge eksemplene skaper en konstant av typen String. Men når vi erklærer med typealias, blir koden vår mer lesbar.

Typealias for brukerdefinerte typer

Det er mange tilfeller når du trenger å lage din egen datatype. Anta at du vil lage en type som representerer student, du kan opprette den ved hjelp av en klasse som:

 class Student ( ) 

Nå kan en gruppe studenter bli representert som en matrise som:

 var studenter: Array = ()

Ovennevnte erklæring kan gjøres mer lesbar ved å lage din egen type for Arraybruk typealiassom:

 typealias Students = Array

Nå kan vi gjøre koden vår mer lesbar som:

 var studenter: Students = ()

Typealias for komplekse typer

La oss analysere et eksempel til. Anta at vi har en metode som tar en lukking som en inngangsparameter.

Ikke bekymre deg hvis du ikke vet om nedleggelser. Bare tenk på det som en spesiell type funksjon. Vi har forklart det detaljert i artikkelen: Swift closures.

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

Ovennevnte eksempel tar en avslutning som en innspill til someMethod. Avslutningen tar en Intverdi og returnerer String.

Du kan se bruken av (Int)->(String)gir mindre mening for leseren. Du kan bruke typealiastil å oppgi et nytt navn for det:

 typealias CompletionHandler = (Int) -> (String)

Nå kan du omskrive metoden som:

 func someMethod(oncomp:CompletionHandler)( )

Vi kan se at den samme koden ser tydeligere ut og programmerervennlig med bruk av typealias.

Interessante artikler...