Swift Typealias: Jak je používat a proč?

V tomto článku se dozvíte o typealias a jeho případech použití v Swift.

Alias ​​typu vám umožňuje zadat nový název pro existující datový typ do vašeho programu. Po deklaraci aliasu typu lze použít aliasovaný název namísto existujícího typu v celém programu.

Alias ​​typu nevytvářejte nové typy. Jednoduše poskytují nový název existujícímu typu.

Hlavním účelem typealiasje zajistit, aby byl náš kód čitelnější a jasnější v kontextu lidského porozumění.

Jak vytvořit typealias?

Deklaruje se pomocí klíčového slova typealiasjako:

 typealias name = existující typ

Ve Swift můžete použít typealiaspro většinu typů. Mohou to být buď:

  • Vestavěné typy (například: String, Int)
  • Typy definované uživatelem (například: třída, struktura, výčet)
  • Složité typy (např. Uzávěry)

Typické pro vestavěné typy

Typealias můžete použít pro všechny vestavěné datové typy jako String, Int, Float atd.

Například:

 typealias StudentName = Řetězec

Výše uvedené prohlášení umožňuje StudentName používat všude místo String. Pokud tedy chcete vytvořit konstantu typu řetězec, ale představuje spíše jméno studenta. Můžete udělat jako:

 let name: StudentName = "Jack"

Bez použití typealias byste měli deklarovat konstantu typu string jako:

 let name: String = "Jack"

Nad oběma příklady se vytváří konstanta typu String. Ale deklarovat s typealias, náš kód bude čitelnější.

Typealias pro uživatelem definované typy

Existuje mnoho případů, kdy potřebujete vytvořit svůj vlastní datový typ. Předpokládejme, že chcete vytvořit typ, který představuje Studenta, můžete jej vytvořit pomocí třídy jako:

 class Student ( ) 

Nyní může být skupina studentů reprezentována jako pole jako:

 var studenti: Pole = ()

Výše uvedená deklarace může být čitelnější vytvořením vlastního typu pro Arraypoužití typealiasjako:

 typealias Students = Array

Nyní můžeme náš kód udělat čitelnějším jako:

 var students: Students = ()

Typealias pro složité typy

Pojďme analyzovat ještě jeden příklad. Předpokládejme, že máme metodu, která jako vstupní parametr přijímá uzávěr.

Nebojte se, pokud nevíte o uzávěrách. Představte si to jako speciální typ funkce. Podrobně jsme to vysvětlili v článku: Uzávěry Swift.

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

Výše uvedený příklad má uzavření jako vstup do someMethod. Uzávěr má Inthodnotu a vrátí se String.

Můžete vidět, že použití (Int)->(String)má pro čtenáře menší smysl. Můžete použít typealiask zadání nového názvu:

 typealias CompletionHandler = (Int) -> (řetězec)

Nyní můžete metodu přepsat jako:

 func someMethod(oncomp:CompletionHandler)( )

Vidíme, že stejný kód vypadá jasněji a programátorsky přívětivější při použití typealias.

Zajímavé články...