English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы Swift

Операторы Swift

Swift управление потоком

Swift коллекции

Swift функции

Swift продвинутый

Типовые имена (Typealias) в Swift

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

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

Тип别名 не создает новый тип. Они просто предоставляют новый имя для существующего типа.

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

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

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

typealias name = existing type

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

  • Внутренние типы(например: String, Int)

  • Типы пользовательского определения(например: классы, структуры, энумерации)

  • Комплексные типы(например: closures)

Тип别名 встроенных типов

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

Например:

typealias StudentName = String

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

let name:StudentName = "Jack"

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

let name:String = "Jack"

В вышеприведенных примерах был создан тип String для констант. Однако использование typealias делает наш код более читаемым.

Тип别名 пользовательского определения

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

class Student {
{}

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

var students:Array<Student> = []

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

typealias Students = Array<Student>

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

var students:Students = []

Тип сложных данных

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

Если вы не знаете, что такое клочень, не волнуйтесь. Просто представляйте его как особый тип функции.

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

В上面的 примере клочень используется в качестве входного параметра someMethod. Этот клочень принимает значение Int и возвращает String.

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

typealias CompletionHandler = (Int) -> (String)

Теперь вы можете переписать метод следующим образом:

func someMethod(oncomp: CompletionHandler){
{}

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