Swift Typealias: hoe ze te gebruiken en waarom?

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 typealiasis 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 typealiasals:

 typealias name = bestaand type

In Swift kunt u typealiasvoor 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 Arraygebruik typealiasals:

 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 Intwaarde en keert terug String.

U kunt zien dat het gebruik van (Int)->(String)minder logisch is voor de lezer. U kunt gebruiken typealiasom 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.

Interessante artikelen...