すらぼうの開発ノート

モバイルアプリエンジニアのメモ

【Swift】enum(列挙型)の使い方

enum(列挙型)とは

同じ型のデータをまとめるデータ型。


定義方法

次の様に定義する

enum enum名{
    case case....
}

例えばいくつかの動物の名称を「動物」というグループでまとめたい時は以下の様に記載する。

enum Animal{
    case cat
    case dog
    case bird
    case cow
    case snake
}

上記のAnimalのようにcase毎に処理が存在しない場合、次の様に記載しても同じ意味になる。

enum Animal {
    case cat, dog, bird, cow, snake
}

以降はAnimalを元に説明する。


値の取得

定義した値を取得する場合、次の様にする。

let animal: Animal = Animal.cat

次の様に記載しても同じ意味になる。

let animal: Animal = .cat

caseの値をArray型で取得する

caseの値をArray型で取得するためには、定義を少しいじる。 具体的にはenum名の後ろに : CaseIterableを加える。

enum Animal: CaseIterable {
    case cat, dog, bird, cow, snake
}

こうすることで、次の様にしてArrayデータを取得できる。

let caseArray = Animal.allCases

caseの個数を取得する

caseの値をArray型で取得し、countプロパティで個数を取得できる。

let caseCount = Animal.allCases.count