列挙型は複数の値を一つの型として宣言するために使うもので、値だけでなくプロパティやメソッドを持たせることもできる。

今回は列挙型の定義の書式と、基本的な使い方について紹介していく。

列挙型の定義

列挙型はenumを使って次のように定義する。

enum MensSize {
    case S
    case M
    case L
    case XL
}

型名の最初の1文字はクラス同様、慣例として大文字にしておき、型内で選択可能な値をcaseで定義する。

また、上記のコードは以下のように書くこともできる。

enum MensSize {
    case S, M, L, XL
}

変数に列挙型の値を代入する

定義した列挙型の値を変数に代入するときは、クラスプロパティのようにアクセスし、次のように代入する。

var mySize = MensSize.M

print(mySize)
// M

また、以下のように一度列挙型を変数に代入しておくと型推論によってMySize型になるので、以降ドットを使って値にアクセスすることができる。

var mySize = MensSize
mySize = .M

print(mySize)
// M