Что такое typealias в Swift и для чего он используется?

«Что такое typealias в Swift и для чего он используется?» — вопрос из категории Swift Core, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Typealias (псевдоним типа) позволяет создать новое имя для существующего типа, улучшая читаемость и упрощая рефакторинг кода.

Основные применения:

  1. Упрощение сложных типов:

    typealias CompletionHandler = (Result<Data, Error>) -> Void
    typealias StringDictionary<T> = Dictionary<String, T>
  2. Семантическое уточнение: Придание контекстного смысла базовым типам.

    typealias UserID = Int
    typealias Currency = Decimal
  3. Адаптация внешних типов: Создание локального имени для импортированных типов.

Пример использования:

typealias UserList = [UserID: String]

func getUser(by id: UserID) -> String? {
    let users: UserList = [1: "Alice", 2: "Bob"]
    return users[id]
}

Преимущества: Повышение читаемости, централизованное управление типами, упрощение будущих изменений (например, смены типа UserID с Int на UUID).