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 typealias
je narediti našo kodo bolj berljivo in jasnejšo v kontekstu človeškega razumevanja.
Kako ustvariti typealias?
Deklarira se s ključno besedo typealias
kot:
ime vzdevka = obstoječi tip
V Swiftu lahko uporabljate typealias
za 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 Array
uporabo typealias
kot:
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 Int
vrednost in se vrne String
.
Vidite, da je uporaba (Int)->(String)
bralca manj smiselna. Z njim lahko typealias
navedete 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
.