LoginSignup
5
4

More than 5 years have passed since last update.

Swiftまとめ - enum(列挙型) -

Last updated at Posted at 2014-12-20

用途

値をグループ化するのに使用する。

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
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4