Swift Typealias: Hogyan kell használni és miért?

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 typealiasa 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 typealiasa 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ő Arrayfelhaszná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.

érdekes cikkek...