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 typealias
er å 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 typealias
som:
typealias navn = eksisterende type
I Swift kan du bruke typealias
for 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 Array
bruk typealias
som:
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 Int
verdi og returnerer String
.
Du kan se bruken av (Int)->(String)
gir mindre mening for leseren. Du kan bruke typealias
til å 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
.