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 typealias
on muuta meie kood loetavamaks ja inimlikuks mõistmiseks kontekstis selgemaks.
Kuidas luua typealiasid?
See deklareeritakse märksõna abil typealias
järgmiselt:
typealias nimi = olemasolev tüüp
Swiftis saate kasutada typealias
enamiku 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 typealias
muutub 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 Array
kasutamiseks typealias
jä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 Int
väärtuse ja naaseb String
.
Näete (Int)->(String)
, et lugejal pole mõtet vähem mõtet kasutada. Võite typealias
sellele 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
.