English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете о типах别名 в Swift и их примерах использования.
Тип别名 позволяет вам называть существующие в программеТип данныхПредоставляет новое имя. После объявления типа别名, его можно использовать вместо существующего типа во всем приложении.
Тип别名 не создает новый тип. Они просто предоставляют новый имя для существующего типа.
Основная цель typealias - сделать наш код более читаемым и понятным в контексте, чтобы его могли понять люди.
Объявляется с помощью ключевого слова typealias:
typealias name = existing type
В Swift большинство типов можно использовать с помощью typealias. Они могут быть следующими:
Внутренние типы(например: String, Int)
Типы пользовательского определения(например: классы, структуры, энумерации)
Комплексные типы(например: closures)
Вы можете использовать typealias для всех встроенных типов данных, таких как String, Int, Float и т.д.
Например:
typealias StudentName = 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 делает код более ясным и удобным для программистов.