Swift

[Swift]Swiftの列挙型メモ

標準型

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

 

-Swift

© 2022 かずのアプリときどきキャンプ飯 Powered by AFFINGER5