У цій статті ви дізнаєтеся про типиаліаси та варіанти їх використання в Swift.
Псевдонім типу дозволяє вказати нову назву для існуючого типу даних у вашій програмі. Після того, як псевдонім типу оголошено, псевдонім можна використовувати замість існуючого типу у всій програмі.
Псевдонім типу не створює нових типів. Вони просто надають нову назву існуючому типу.
Основна мета typealias
- зробити наш код більш читабельним та зрозумілішим у контексті для розуміння людиною.
Як створити псевдонім?
Це оголошується за допомогою ключового слова typealias
як:
назва псевдонімів = існуючий тип
У Swift ви можете використовувати typealias
для більшості типів. Вони можуть бути:
- Вбудовані типи (наприклад, наприклад: String, Int)
- Визначені користувачем типи (наприклад, наприклад: клас, структура, перелік)
- Складні типи (наприклад, закриття)
Typealias для вбудованих типів
Ви можете використовувати псевдоніми для всіх вбудованих типів даних як String, Int, Float тощо.
Наприклад:
typealias StudentName = Рядок
Вищевказана декларація дозволяє використовувати StudentName скрізь замість String
. Отже, якщо ви хочете створити константу типу string, але представляє більше як ім'я студента. Ви можете зробити так:
let name: StudentName = "Джек"
Без використання псевдонімів, вам слід оголосити константу типу string як:
let name: String = "Джек"
Над обома прикладами створюється константа типу String
. Але, заявляючи typealias
, наш код стає більш читабельним.
Псевдоніми для визначених користувачем типів
Є багато випадків, коли вам потрібно створити власний тип даних. Припустимо, ви хочете створити тип, який представляє студента, ви можете створити його, використовуючи клас як:
class Student ( )
Тепер групу студентів можна представити у вигляді масиву як:
студенти var: Array = ()
Вищевказану декларацію можна зробити зручнішою для читання, створивши власний тип для Array
використання typealias
як:
typealias Студенти = Масив
Тепер ми можемо зробити наш код більш читабельним, як:
студенти var: Студенти = ()
Типіалії для складних типів
Давайте проаналізуємо ще один приклад. Припустимо, у нас є метод, який приймає замикання як вхідний параметр.
Не хвилюйтеся, якщо ви не знаєте про закриття. Просто подумайте про це як про особливий тип функції. Ми детально пояснили це у статті: Швидкі закриття.
func someMethod(oncomp:(Int)->(String))( )
Наведений приклад приймає закриття як вхідні дані someMethod
. Закриття приймає Int
значення і повертається String
.
Ви бачите, що використання (Int)->(String)
читачів має менший сенс для читача. Ви можете використовувати, typealias
щоб вказати нову назву для нього:
typealias CompletionHandler = (Int) -> (String)
Тепер ви можете переписати метод як:
func someMethod(oncomp:CompletionHandler)( )
Ми бачимо, що той самий код виглядає більш чітким та зручним для програмістів із використанням typealias
.