Swift Typealias: как их использовать и зачем?

В этой статье вы узнаете о типалиях и вариантах их использования в Swift.

Псевдоним типа позволяет вам предоставить новое имя для существующего типа данных в вашей программе. После объявления псевдонима типа псевдоним можно использовать вместо существующего типа во всей программе.

Псевдоним типа не создает новых типов. Они просто дают новое имя существующему типу.

Основная цель typealias- сделать наш код более читабельным и понятным в контексте для человеческого понимания.

Как создать типалиас?

Он объявляется с использованием ключевого слова typealiasкак:

 typealias name = существующий тип

В Swift вы можете использовать typealiasдля большинства типов. Они могут быть:

  • Встроенные типы (например, String, Int)
  • Типы, определяемые пользователем (например, class, struct, enum)
  • Сложные типы (например, закрытие)

Typealias для встроенных типов

Вы можете использовать псевдонимы для всех встроенных типов данных, таких как String, Int, Float и т. Д.

Например:

 typealias StudentName = Строка

Приведенное выше объявление позволяет использовать StudentName везде вместо String. Итак, если вы хотите создать константу типа string, но больше похожую на имя студента. Вы можете сделать как:

 пусть имя: StudentName = "Джек"

Без использования typealias вы должны объявить константу типа string как:

 пусть имя: String = "Джек"

Над обоими примерами создается константа типа String. Но объявляя с помощью typealias, наш код становится более читабельным.

Typealias для типов, определяемых пользователем

Есть много случаев, когда вам нужно создать свой собственный тип данных. Предположим, вы хотите создать тип, представляющий ученика, вы можете создать его, используя класс как:

 class Student ( ) 

Теперь группу студентов можно представить в виде массива как:

 var student: Array = ()

Вышеупомянутое объявление можно сделать более читаемым, создав свой собственный тип для Arrayиспользования в typealiasкачестве:

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

Теперь мы можем сделать наш код более читабельным:

 var студенты: студенты = ()

Typealias для сложных типов

Разберем еще один пример. Предположим, у нас есть метод, который принимает замыкание в качестве входного параметра.

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

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

В приведенном выше примере в качестве входных данных для someMethod. Замыкание принимает Intзначение и возвращается String.

Вы можете видеть, что использование слова (Int)->(String)имеет меньший смысл для читателя. Вы можете использовать, typealiasчтобы дать ему новое имя:

 typealias CompletionHandler = (Инт) -> (Строка)

Теперь вы можете переписать метод как:

 func someMethod(oncomp:CompletionHandler)( )

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

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