In dit artikel leert u over typealias en de toepassingen ervan in Swift.
Met een type-alias kunt u een nieuwe naam opgeven voor een bestaand gegevenstype in uw programma. Nadat een type-alias is gedeclareerd, kan de alias-naam in het hele programma worden gebruikt in plaats van het bestaande type.
Type-alias maken geen nieuwe typen. Ze geven gewoon een nieuwe naam aan een bestaand type.
Het belangrijkste doel hiervan typealias
is om onze code leesbaarder en duidelijker in de context te maken voor menselijk begrip.
Hoe maak je een typealias aan?
Het wordt gedeclareerd met behulp van het trefwoord typealias
als:
typealias name = bestaand type
In Swift kunt u typealias
voor de meeste typen gebruiken. Ze kunnen zijn:
- Ingebouwde typen (for.eg: String, Int)
- Door de gebruiker gedefinieerde typen (for.eg: class, struct, enum)
- Complexe typen (bijvoorbeeld: sluitingen)
Typealias voor ingebouwde typen
U kunt typealias gebruiken voor alle ingebouwde gegevenstypen zoals String, Int, Float etc.
Bijvoorbeeld:
typealias StudentName = String
Met de bovenstaande verklaring kan StudentName overal worden gebruikt in plaats van String
. Dus als u een constante van het type string wilt maken, maar meer de naam van de student weergeeft. U kunt het volgende doen:
let name: StudentName = "Jack"
Zonder typealias te gebruiken, zou u de constante van het type string moeten declareren als:
let name: String = "Jack"
Boven beide voorbeelden ontstaat een constante van het type String
. Maar door met aan te geven typealias
, wordt onze code beter leesbaar.
Typealias voor door de gebruiker gedefinieerde typen
Er zijn veel gevallen waarin u uw eigen gegevenstype moet maken. Stel dat u een type wilt maken dat student vertegenwoordigt, dan kunt u dit maken met een klas als:
class Student ( )
Nu kan een groep studenten worden weergegeven als een array als:
var studenten: Array = ()
De bovenstaande verklaring kan leesbaarder worden gemaakt door uw eigen type te maken voor Array
gebruik typealias
als:
typealias Students = Array
Nu kunnen we onze code leesbaarder maken als:
var students: Students = ()
Typealias voor complexe typen
Laten we nog een voorbeeld analyseren. Stel dat we een methode hebben die een afsluiting als invoerparameter heeft.
Maakt u zich geen zorgen als u niets weet over sluitingen. Beschouw het maar als een speciaal soort functie. We hebben het gedetailleerd uitgelegd in het artikel: Snelle sluitingen.
func someMethod(oncomp:(Int)->(String))( )
Het bovenstaande voorbeeld neemt een afsluiting als input voor someMethod
. De sluiting krijgt een Int
waarde en keert terug String
.
U kunt zien dat het gebruik van (Int)->(String)
minder logisch is voor de lezer. U kunt gebruiken typealias
om er een nieuwe naam voor op te geven:
typealias CompletionHandler = (Int) -> (String)
Nu kunt u de methode herschrijven als:
func someMethod(oncomp:CompletionHandler)( )
We kunnen zien dat dezelfde code er duidelijker en programmeervriendelijker uitziet met het gebruik van typealias
.