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