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 ..
みたいな書き方。
これは何に使うかというと、ライブラリから この形で受け取ることがある。