Swift: Enumerations (Перечисления)

Перечисление — тип, позволяющий хранить группу связанных значений и позволяющих работать с ними в типобезопасном режиме.
Рассмотрим классический пример перечисления

Apple теперь по умолчанию не равен 0, если мы хотим получить доступ к такому варианту — нужно воспользоваться RawValue. Сделать это можно указав тип через двоеточие после имени перечисления при определении.

Так же можно указать любой тип, не только Int

Воспользоваться сырым значением можно через RawValue

Так же стоит отметить, что при присвоении нет необходимости указывать имя перечисления (Food) как только компилятор понял что переменная будет именно от этого перечисления, можно просто начинать с точки .Apple
Создать переменную перечисления можно так же с помощью сырого значения

Замечу, что при таком создании — тип результата будет не Food, а Food?, т.к. гарантии что для предоставленного нами rawValue существует определение внутри enum — нет

Но самым интересным новшеством являются связанные значения (associated values)
Суть в том, что за каждым case можно привязать свой кортеж и при создании использовать нужный

Как видим при создании значения структуры Person, мы можем идентифицировать ее как паспортом (в нашем случае это будет просто идентификатор Int), так и правами (пусть будет кортеж состоящий из двух строк)

Разобраться какое текущее значение поможет switch

Замечу, что параметры могут быть как переменными так и константами, указывать это можно как для каждого параметра отдельно (1), так и для всех параметров указав сразу после case (2)

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

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