用途
値をグループ化するのに使用する。
enum Size {
case S, M, L
}
// または
enum Size {
case S
case M
case L
}
var size = Size.S // 型はSize型、値はEnum Valueという型で扱われる。
参照する
if(size == Size.S){
print("Sサイズ")
}
// 型推論で.Sだけでもいける
if(size == .S){
print("Sサイズ")
}
enumに値(Raw Value)を割り当てる
enumに型宣言が必要。
enum Size: Int {
case S = 1
case M
case L
}
※ Intの場合、設定値を省略すると、0, 1, 2... という数値が自動的に割り振られる。1から始めると、同じように2, 3, 4...という数値が自動で割り振られる。
Raw Valueを参照するには、.rawValue
を使用する。
var size = Size.S
if(size.rawValue == 1){
print("Sサイズ")
}
関数を定義する
enum Size {
case S, M, L
func sizeToString() {
switch self {
case .S:
print("Sサイズ")
case .M:
print("Mサイズ")
case .L:
print("Lサイズ")
default:
break
}
}
}
var size = Size.S
size.sizeToString() // => "Sサイズ"
rawValue から case を求める
型を指定する必要があります。
enum Size: Int {
case S = 0, M, L
func sizeToString() {
switch self {
case .S:
print("Sサイズ")
case .M:
print("Mサイズ")
case .L:
print("Lサイズ")
default:
break
}
}
}
let section = Size(rawValue: 0)!
print(section) // S