Ebben a cikkben megismerheti a Swift tipéziáit és azok használatát.
A típusalias lehetővé teszi, hogy új nevet adjon egy meglévő adattípushoz a programjában. A típusalias deklarálása után az álnevet a programban a meglévő típus helyett lehet használni.
A típusalias nem hoz létre új típusokat. Egyszerűen új nevet adnak egy meglévő típusnak.
A fő célja typealias
, hogy kódunkat olvashatóbbá és világosabbá tegyük az emberi megértés szempontjából.
Hogyan hozhatunk létre tipealiákat?
A kulcsszó használatával a következőképpen deklarálható typealias
:
typealias név = meglévő típus
A Swiftben typealias
a legtöbb típushoz használható. Ezek lehetnek:
- Beépített típusok (for.eg: String, Int)
- Felhasználó által definiált típusok (for.eg: class, struct, enum)
- Komplex típusok (például: lezárások)
Typealias beépített típusokhoz
Használhat tipéziákat minden beépített adattípushoz, például String, Int, Float stb.
Például:
typealias StudentName = Karakterlánc
A fenti nyilatkozat lehetővé teszi a StudentName használatát mindenhol a helyett String
. Tehát, ha konstans típusú karakterláncot akar létrehozni, de inkább hasonlít a tanuló nevéhez. Megteheti:
let name: StudentName = "Jack"
A typealias használata nélkül a string karakter konstansát kell deklarálni:
let name: String = "Jack"
Mindkét példa felett létrejön egy típusú állandó String
. De ezzel együtt deklarálva typealias
a kódunk olvashatóbbá válik.
Typealias a felhasználó által definiált típusokhoz
Sok esetben van szükség saját adattípus létrehozására. Tegyük fel, hogy egy olyan típust szeretne létrehozni, amely reprezentálja a diákot, és létrehozhatja azt egy osztály használatával:
class Student ( )
Most egy diákcsoport egy tömbként ábrázolható:
var hallgatók: tömb = ()
A fenti nyilatkozat olvashatóbbá tehető, ha létrehoz egy saját típust a következőként történő Array
felhasználásra typealias
:
typealias diákok = tömb
Most a kódunkat olvashatóbbá tehetjük:
var hallgatók: Diákok = ()
Typealias komplex típusokhoz
Elemezhetünk még egy példát. Tegyük fel, hogy van olyan módszerünk, amely bezárást vesz bemeneti paraméterként.
Ne aggódjon, ha nem tud a bezárásokról. Gondoljon csak egy speciális funkciótípusra. A cikkben részletesen kifejtettük: Gyors lezárások.
func someMethod(oncomp:(Int)->(String))( )
A fenti példa bezárást jelent a bemenetként someMethod
. A bezárás Int
értéket vesz fel és visszatér String
.
Láthatja, hogy a használata (Int)->(String)
kevésbé értelmes az olvasó számára. Használhatja typealias
új név megadására:
typealias CompletionHandler = (Int) -> (karakterlánc)
Most átírhatja a módszert a következőképpen:
func someMethod(oncomp:CompletionHandler)( )
Láthatjuk, hogy ugyanaz a kód egyértelműbbnek és programozóbarátabbnak tűnik a használatával typealias
.