キノコが何か作るブログ

ゲーム・ドット絵・アプリなどを作ります

MENU

swiftのenumの使い方【備忘録】

定数を列挙するために使う。正直まだ構造体と何が違うのかよくわからない。
でもとにかく見やすいので覚えておく。

まずは基本形

enum enumの名前: 型 {
    case 定数名 = 定数
}

実際に使うとこんな感じで使える。とても見やすい。

enum Name: String {
    case first = "飯田"
    case second = "上田"
    case third = "江頭"
}

let name1:Name = .first
let name2 = Name.second

print(name1)
print(name2)

print(name1.rawValue)
print(name2.rawValue)

実行するとこうなる。
f:id:mizukinoko:20200508121548p:plain
let name:Name = .firstで取得しても、中身を使うためにはrawValueを付けなければならない。
そこだけは注意。

ネストできる

クラスとの違いは、enumはネストすることができるところ。これはすばらしい。

//1年生
enum FirstGrade {
    //1組
    enum Class1: String {
        case first = "飯田"
        case second = "上田"
        case third = "江頭"
    }
    //2組
    enum Class2: String {
        case first = "合田"
        case second = "水谷"
        case third = "和田"
    }
}

let firstGradeClass1First = FirstGrade.Class1.first.rawValue
let firstGradeClass2Third = FirstGrade.Class2.third.rawValue

print(firstGradeClass1First)
print(firstGradeClass2Third)

実行結果
f:id:mizukinoko:20200508123539p:plain

JavaScriptにもenumがあるらしい。もっと早く知りたかった。

プライバシーポリシー