В Swift typealias — это псевдоним существующего типа. Это позволяет вам называть один тип данных другим именем.

Стратегическое использование псевдонимов типов может сделать ваш код более читабельным и понятным.

Чтобы объявить новый псевдоним типа в вашем проекте, просто используйте следующий синтаксис:

typealias NewType = ExistingType
Типалиас в Swift, где число 10 называет себя int и Number

Далее я покажу вам несколько реальных случаев использования псевдонимов типов в вашей программе на Swift.

Кстати, если вы хотите посмотреть короткое видео на эту тему, не смотрите дальше:


Примеры псевдонимов

Допустим, вы имеете дело с весами в своем коде. Эти веса удваиваются по типу данных.

Но с помощью typealias вы можете создать псевдоним Weight это на самом деле Double под капотом:

typealias Weight = Double

Теперь вы можете использовать Weight вместо Double:

let mass1: Weight = 152.3
let mass2: Weight = 43.2

print(mass1 + mass2)

Напишите расширение для Typealias

Написание расширение поскольку typealias также расширяет базовый тип. Например, если предположить, что Weight в килограммах, давайте создадим расширение toPounds() для Weight псевдоним:

typealias Weight = Double

extension Weight {
    func toPounds() -> Weight {
        return self * 2.205
    }
}

let mass: Weight = 100
print(mass.toPounds())

// The extension affects Doubles too:
let massDoubles: Double = 120
print(massDoubles.toPounds())



Выход:

220.5
264.6

Как видите, оба Double и Weight экземпляры теперь имеют toPouds() конверсия.

Объединение протоколов с использованием Typealias

Предположим, у вас есть два доступа протоколы для чтения и написания оценок учащихся:

protocol ReadAccess {}
protocol WriteAccess {}

Ваш учитель должен уметь читать и писать оценки. Используя typealias, вы можете аккуратно объединить эти два протокола, чтобы создать новый протокол, предназначенный только для администраторов учителей:

typealias AdminAccess = ReadAccess & WriteAccess
struct Teacher: AdminAccess {}


Замыкания и типалиасы

Допустим, у нас есть простой метод, который принимает закрытие в качестве входных данных:

func method(operation: (Double) -> (Double)) {}

Теперь вы можете создать псевдоним для (Double) -> (Double) тип функции чтобы подчеркнуть, что это математическая операция:

typealias MathOperation = (Double) -> (Double)

Сейчас method можно обновить, чтобы использовать этот псевдоним типа в типе аргумента:

func method(operation: MathOperation) {}

Заключение

Typealias — это просто псевдоним существующего типа. Основная цель псевдонимов — сделать код более читабельным и понятным. В качестве примера, вот псевдоним типа Weight, который по сути является просто Double:

typealias Weight = Double

Спасибо за прочтение. Надеюсь, вы найдете это полезным.

Дальнейшее чтение

Добавить комментарий

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