Swift Typealias: Kuinka niitä käytetään ja miksi?

Tässä artikkelissa opit typealioista ja niiden käyttötapauksista Swiftissä.

Tyyppialiaksen avulla voit antaa ohjelmalle uuden nimen olemassa olevalle tietotyypille. Kun tyyppialias on ilmoitettu, aliaksen nimeä voidaan käyttää koko ohjelmassa olemassa olevan tyypin sijasta.

Tyyppialias ei luo uusia tyyppejä. Ne antavat vain uuden nimen olemassa olevalle tyypille.

Päätavoitteena typealiason tehdä koodistamme luettavampi ja selkeämpi kontekstissa ihmisen ymmärryksen kannalta.

Kuinka luoda typealiat?

Se ilmoitetaan käyttämällä avainsanaa typealiasseuraavasti:

 typealias name = olemassa oleva tyyppi

Swiftissä voit käyttää typealiasuseimpia tyyppejä. Ne voivat olla joko:

  • Sisäänrakennetut tyypit (for.eg: String, Int)
  • Käyttäjän määrittelemät tyypit (for.eg: luokka, struct, enum)
  • Monimutkaiset tyypit (esim. Sulkimet)

Typealiat sisäänrakennetuille tyypeille

Voit käyttää typealioita kaikille sisäänrakennetuille tietotyypeille, kuten String, Int, Float jne.

Esimerkiksi:

 typealias StudentName = Merkkijono

Yllä olevan ilmoituksen avulla StudentName-tiedostoa voidaan käyttää kaikkialla String. Joten, jos haluat luoda vakion tyypin merkkijonon, mutta edustaa enemmän kuin opiskelijan nimi. Voit tehdä seuraavasti:

 anna nimi: StudentName = "Jack"

Ilman typealioita sinun on ilmoitettava merkkijonon vakio seuraavasti:

 anna nimi: String = "Jack"

Molempien esimerkkien yläpuolella luodaan tyypin vakio String. Mutta kun ilmoitamme typealias, koodistamme tulee helpommin luettavissa.

Typealiat käyttäjän määrittelemille tyypeille

Useissa tapauksissa sinun on luotava oma tietotyyppi. Oletetaan, että haluat luoda tyypin, joka edustaa opiskelijaa, voit luoda sen luokan avulla seuraavasti:

 class Student ( ) 

Nyt joukko opiskelijoita voidaan edustaa ryhmänä seuraavasti:

 vaihtelevat opiskelijat: Taulukko = ()

Yllä oleva ilmoitus voidaan tehdä helpommin luettavaksi luomalla oma tyyppisi Arraykäytettäväksi typealiasnimellä:

 typealias Opiskelijat = Taulukko

Nyt voimme tehdä koodistamme helpommin luettavissa:

 var opiskelijat: Opiskelijat = ()

Typealiat monimutkaisille tyypeille

Analysoidaan vielä yksi esimerkki. Oletetaan, että meillä on menetelmä, joka pitää sulkun tuloparametrina.

Älä huoli, jos et tiedä sulkemisista. Ajattele sitä vain erityistyyppisenä toimintona. Olemme selittäneet sen yksityiskohtaisesti artikkelissa: Nopeat sulkimet.

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

Yllä olevassa esimerkissä suljin syötetään someMethod. Sulkeminen ottaa Intarvon ja palaa String.

Voit nähdä, että käytön (Int)->(String)merkitys lukijalle on vähemmän järkevää. Voit typealiasantaa sille uuden nimen:

 typealias CompletionHandler = (Int) -> (merkkijono)

Nyt voit kirjoittaa menetelmän uudestaan:

 func someMethod(oncomp:CompletionHandler)( )

Voimme nähdä, että sama koodi näyttää selkeämmältä ja ohjelmoijaystävällisemmältä typealias.

Mielenkiintoisia artikkeleita...