Swift Typealias: Kako jih uporabljati in zakaj?

V tem članku boste v Swiftu izvedeli več o tialiasih in primerih uporabe.

Vzdevek tipa vam omogoča, da v svoj program vnesete novo ime za obstoječi podatkovni tip. Po razglasitvi vzdevka tipa lahko namesto obstoječega tipa v celotnem programu uporabite vzdevek.

Vzdevki tipov ne ustvarjajo novih tipov. Preprosto dajo novo ime obstoječemu tipu.

Glavni namen programa typealiasje narediti našo kodo bolj berljivo in jasnejšo v kontekstu človeškega razumevanja.

Kako ustvariti typealias?

Deklarira se s ključno besedo typealiaskot:

 ime vzdevka = obstoječi tip

V Swiftu lahko uporabljate typealiasza večino vrst. Lahko so:

  • Vgrajeni tipi (npr. String, Int)
  • Uporabniško določeni tipi (npr. Razred: struct, enum)
  • Kompleksne vrste (na primer: zapirala)

Typealias za vgrajene tipe

Za vse vgrajene vrste podatkov lahko uporabite vzdevke tipa String, Int, Float itd.

Na primer:

 typealias StudentName = Niz

Zgornja izjava omogoča, da se StudentName uporablja povsod namesto String. Torej, če želite ustvariti konstanto tipa string, vendar predstavlja bolj kot ime študenta. To lahko storite kot:

 naj ime: StudentName = "Jack"

Brez uporabe vzdevkov tipa bi morali konstanto tipa string razglasiti kot:

 naj ime: String = "Jack"

Nad obema primeroma ustvarja konstanto tipa String. Toda če izjavimo z typealias, postane naša koda bolj berljiva.

Vzdevki za uporabniško določene tipe

Veliko je primerov, ko morate ustvariti svoj tip podatkov. Recimo, da želite ustvariti vrsto, ki predstavlja študenta, jo lahko ustvarite z uporabo razreda kot:

 class Student ( ) 

Zdaj lahko skupino študentov predstavimo kot matriko kot:

 študenti var: matrika = ()

Zgornjo izjavo lahko naredimo bolj berljivo z ustvarjanjem lastnega tipa za Arrayuporabo typealiaskot:

 typealias Študenti = matrika

Zdaj lahko svojo kodo naredimo bolj berljivo kot:

 študentje var: Študenti = ()

Typealias za kompleksne tipe

Oglejmo si še en primer. Recimo, da imamo metodo, ki za vhodni parameter sprejme zaporo.

Ne skrbite, če ne veste za zapore. Samo pomislite na to kot na posebno vrsto funkcije. Podrobno smo razložili v članku: Hitra zapiranja.

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

Zgornji primer je zaključek kot vhod v someMethod. Zapiranje dobi Intvrednost in se vrne String.

Vidite, da je uporaba (Int)->(String)bralca manj smiselna. Z njim lahko typealiasnavedete novo ime:

 typealias CompletionHandler = (Int) -> (String)

Zdaj lahko metodo prepišete kot:

 func someMethod(oncomp:CompletionHandler)( )

Vidimo lahko, da je ista koda videti bolj jasna in programerjem prijazna do uporabe typealias.

Zanimive Članki...