V tomto článku sa dozviete o typealiasách a prípadoch ich použitia v aplikácii Swift.
Alias typu vám umožňuje zadať nový názov pre existujúci dátový typ do vášho programu. Po deklarácii aliasu typu je možné v rámci programu namiesto existujúceho typu použiť aliasovaný názov.
Alias typu nevytvára nové typy. Jednoducho poskytnú nový názov existujúcemu typu.
Hlavným účelom typealias
je dosiahnuť, aby bol náš kód čitateľnejší a jasnejší v kontexte pre ľudské porozumenie.
Ako vytvoriť typealias?
Deklaruje sa pomocou kľúčového slova typealias
ako:
typealias name = existujúci typ
V aplikácii Swift môžete použiť typealias
pre väčšinu typov. Môžu to byť buď:
- Vstavané typy (napr. String, Int)
- Užívateľom definované typy (napr. Trieda, štruktúra, výčet)
- Komplexné typy (napr. Uzávery)
Typy pre zabudované typy
Typealias môžete použiť pre všetky zabudované dátové typy ako String, Int, Float atď.
Napríklad:
typealias StudentName = Reťazec
Vyššie uvedené vyhlásenie umožňuje StudentName použiť všade namiesto String
. Ak teda chcete vytvoriť konštantu reťazca typu, ale predstavuje skôr meno študenta. Môžete to urobiť takto:
nech meno: StudentName = "Jack"
Bez použitia typealias by ste mali deklarovať konštantu typu string ako:
nech meno: String = "Jack"
Nad oboma príkladmi sa vytvára konštanta typu String
. Ale deklarovanie s typealias
, náš kód sa stane čitateľnejším.
Typy pre používateľom definované typy
Existuje veľa prípadov, keď potrebujete vytvoriť svoj vlastný dátový typ. Predpokladajme, že chcete vytvoriť typ, ktorý predstavuje študenta, a môžete ho vytvoriť pomocou triedy ako:
class Student ( )
Teraz môže byť skupina študentov reprezentovaná ako pole ako:
var študenti: Pole = ()
Vyššie uvedenú deklaráciu je možné lepšie prečítať vytvorením vlastného typu pre Array
použitie typealias
ako:
typealias Students = Array
Teraz môžeme urobiť náš kód čitateľnejším ako:
var students: Students = ()
Typealias pre zložité typy
Poďme analyzovať ešte jeden príklad. Predpokladajme, že máme metódu, ktorá berie uzáver ako vstupný parameter.
Nerobte si starosti, ak neviete o uzáveroch. Len si to predstavte ako zvláštny typ funkcie. Podrobne sme si to vysvetlili v článku: Uzávery Swift.
func someMethod(oncomp:(Int)->(String))( )
Vyššie uvedený príklad berie uzávierku ako vstup do someMethod
. Uzávierka má Int
hodnotu a vráti sa String
.
Vidíte, že použitie (Int)->(String)
výrazu čitateľovi dáva menší zmysel. Môžete použiť typealias
nový názov:
typealias CompletionHandler = (Int) -> (reťazec)
Teraz môžete metódu prepísať na:
func someMethod(oncomp:CompletionHandler)( )
Vidíme, že ten istý kód vyzerá s používaním prehľadnejšie a programátorskejšie typealias
.