Swift Typealias: kuidas neid kasutada ja miks?

Selles artiklis saate teada tüüpide ja nende kasutamise juhtumite kohta Swiftis.

Tüüpi varjunimi võimaldab teil olemasolevale andmetüübile oma programmis uue nime anda. Pärast tüübi pseudonüümi deklareerimist saab kogu programmis kasutada pseudonüümi olemasoleva tüübi asemel.

Tüüpi alias ei loo uusi tüüpe. Need annavad olemasolevale tüübile lihtsalt uue nime.

Peamine eesmärk typealiason muuta meie kood loetavamaks ja inimlikuks mõistmiseks kontekstis selgemaks.

Kuidas luua typealiasid?

See deklareeritakse märksõna abil typealiasjärgmiselt:

 typealias nimi = olemasolev tüüp

Swiftis saate kasutada typealiasenamiku tüüpide jaoks. Need võivad olla kas:

  • Sisseehitatud tüübid (for.eg: String, Int)
  • Kasutaja määratletud tüübid (for.eg: klass, struct, loend)
  • Komplekssed tüübid (nt sulgurid)

Sisseehitatud tüüpide tüübid

Võite kasutada tüpiaale kõigi sisseehitatud andmetüüpide jaoks, nagu String, Int, Float jne.

Näiteks:

 typealias StudentName = String

Ülaltoodud deklaratsioon võimaldab StudentName'i kasutada kõikjal String. Niisiis, kui soovite luua konstandi tüüpi stringi, kuid esindab pigem õpilase nime. Võite teha järgmist:

 olgu nimi: StudentName = "Jack"

Tüüpiale kasutamata peaksite deklareerima tüübi stringi konstandi järgmiselt:

 las nimi: String = "Jack"

Mõlema näite kohal loob tüüpkonstandi String. Kuid deklareerides typealiasmuutub meie kood loetavamaks.

Kasutaja määratletud tüüpide tüübid

On palju juhtumeid, kui peate looma oma andmetüübi. Oletame, et soovite luua õpilast esindava tüübi, saate selle luua klassi kasutades järgmiselt:

 class Student ( ) 

Nüüd saab õpilaste rühma massiivina esindada järgmiselt:

 var õpilased: massiiv = ()

Ülaltoodud deklaratsiooni saab muuta loetavamaks, kui loote oma tüübi Arraykasutamiseks typealiasjärgmiselt:

 typealias Õpilased = Massiiv

Nüüd saame muuta oma koodi loetavamaks järgmiselt:

 var õpilased: õpilased = ()

Tüüpiaallikad keerukatele tüüpidele

Analüüsime veel ühte näidet. Oletame, et meil on meetod, mille sisendparameetriks on sulgemine.

Ärge muretsege, kui te ei tea sulgemistest. Mõelge sellele lihtsalt kui eriliigilisele funktsioonile. Oleme seda üksikasjalikult selgitanud artiklis: Kiired sulgurid.

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

Ülaltoodud näites on sisendiks sulgemine someMethod. Sulgemine võtab Intväärtuse ja naaseb String.

Näete (Int)->(String), et lugejal pole mõtet vähem mõtet kasutada. Võite typealiassellele uue nime anda:

 typealias CompletionHandler = (Int) -> (string)

Nüüd saate meetodi ümber kirjutada järgmiselt:

 func someMethod(oncomp:CompletionHandler)( )

Näeme, et sama kood näeb kasutamisel klaarim välja ja programmeerijasõbralikum typealias.

Huvitavad Artiklid...