Swift Typealias: Как да ги използвам и защо?

В тази статия ще научите за typealias и неговите случаи на използване в Swift.

Псевдонимът на типа ви позволява да предоставите ново име за съществуващ тип данни във вашата програма. След деклариране на псевдоним на типа, псевдонимът може да се използва вместо съществуващия тип в цялата програма.

Псевдонимът на типа не създава нови типове. Те просто предоставят ново име на съществуващ тип.

Основната цел на typealiasе да направи нашия код по-четлив и по-ясен в контекста на човешкото разбиране.

Как да създам тиалиас?

Декларира се с помощта на ключовата дума typealiasкато:

 typealias name = съществуващ тип

В Swift можете да използвате typealiasза повечето типове. Те могат да бъдат:

  • Вградени типове (напр. Напр. String, Int)
  • Потребителски дефинирани типове (напр. Например: class, struct, enum)
  • Сложни типове (например: затваряне)

Typealias за вградени типове

Можете да използвате псевдоними за всички вградени типове данни като String, Int, Float и т.н.

Например:

 typealias StudentName = Низ

Горната декларация позволява StudentName да се използва навсякъде, вместо String. Така че, ако искате да създадете константа от тип низ, но представлява по-скоро име на студент. Можете да направите като:

 let name: StudentName = "Jack"

Без да използвате typealias, трябва да декларирате константа от тип низ като:

 let name: String = "Jack"

Над двата примера създава константа от тип String. Но декларирайки с typealias, нашият код става по-четлив.

Типични имена за дефинирани от потребителя типове

Има много случаи, когато трябва да създадете свой собствен тип данни. Да предположим, че искате да създадете Тип, който представлява Student, можете да го създадете с помощта на клас като:

 class Student ( ) 

Сега група ученици може да бъде представена като масив като:

 ученици от var: Array = ()

Горната декларация може да стане по-четлива, като създадете свой собствен тип за Arrayизползване typealiasкато:

 typealias Студенти = Масив

Сега можем да направим нашия код по-четлив като:

 var students: Студенти = ()

Typealias за сложни типове

Нека анализираме още един пример. Да предположим, че имаме метод, който приема затваряне като входен параметър.

Не се притеснявайте, ако не знаете за затварянията. Просто мислете за това като за специален тип функция. Обяснихме го подробно в статията: Бързо затваряне.

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

Горният пример приема затваряне като вход към someMethod. Затварянето взема Intстойност и се връща String.

Можете да видите, че използването на (Int)->(String)има по-малко смисъл за читателя. Можете да използвате, за typealiasда предоставите ново име за него:

 typealias CompletionHandler = (Int) -> (String)

Сега можете да пренапишете метода като:

 func someMethod(oncomp:CompletionHandler)( )

Можем да видим, че същият код изглежда по-ясен и програмист, удобен за използването на typealias.

Интересни статии...