標準型
enum PrefectureType { case To case Dou case Fu case Ken } let prefType = PrefectureType.Fu
enumに値を持たせる
enum Shingou: Int { case Aka = 1 case Kiiro = 2 case Ao = 3 } enum Houkou: String { case north = "北なんだよ..." case west = "西" case east = "東" case south = "南" }
enumに与えられた値の取得の仕方
.rawValueプロパティにて、enumに与えられた値を取得することができます。
let shingou: Shingou = .Kiiro shingou.rawValue //2 let houkou: Houkou = .south houkou.rawValue //南
rawValueからenumの値を設定する方法
逆にrawValueからenumの値を設定することもできます。設定値などをプログラム内部ではenumで保持していて、UserDefaultsなどに保存させていた設定値をenumに復元するときに利用します。対応しないrawValueを指定してしまった場合はnilが返ります。
//返り値はSignal? let shingouKiiro: Shingou? = Shingou(rawValue: 2) shingouKiiro?.rawValue //2 //Signalには4に該当する要素が存在しないのでnilが返る let shingouTenmetsu: Signal? = Shingou(rawValue: 4) shingouTenmetsu?.rawValue //nil