Skip to main content

Enum.定義(列挙型)

Python

py
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3

Swift

swift
enum Number {
case one
case two
case three
}

1行で書く場合

swift
enum Number {
case one, two, three
}

デフォルト (0, 1, ..) 意外の値を設定したいとき

swift
enum Number: String {
case one = "One"
..
}

代入

swift
var myNumber: Number = Number.one
myNumber = .two // Number. を省略

値の参照

swift
myNumber.rawValue

rawValue から逆引き

swift
var myNumber = Number(rawValue: "Two")

switch で

swift
switch mynumber {
case .one:
...
...
}

enum の定義にはメソッドや computed property もつけられる。。 その中で自分自身の値を参照するのは self (self.rawValue とかではない)

値を紐付けて、switch で値をキャプチャする等できる。 if で使う場合は if case .. みたいな書き方。 これは何に使うかというと、ライブラリから この形で受け取ることがある。