Швидкі назви: як ними користуватися та чому?

У цій статті ви дізнаєтеся про типиаліаси та варіанти їх використання в 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.

Цікаві статті...