カテゴリ: Swift 更新日: 2025/11/03

SwiftのEnum(列挙型)を完全ガイド!初心者でもわかる使い方と実用例

Swift Enum(列挙型)の基本と実用例
Swift Enum(列挙型)の基本と実用例

先生と生徒の会話形式で理解しよう

生徒

「先生、Swiftの“Enum”ってなんですか?使い方がよくわかりません……」

先生

「Enumは日本語で“列挙型”と呼ばれていて、選択肢をまとめて管理するのに使われますよ。たとえば、曜日や天気など、決まったパターンの値を表現するのにぴったりです。」

生徒

「決まった選択肢があるときに使うんですね!使い方を詳しく知りたいです!」

先生

「それでは、SwiftのEnumの基本的な使い方と実用例をわかりやすく解説していきましょう。」

1. Enum(列挙型)とは?

1. Enum(列挙型)とは?
1. Enum(列挙型)とは?

Enum(列挙型)とは、「あらかじめ決まった選択肢」をひとまとまりにして使えるようにするSwiftの構文です。

たとえば、「北・南・東・西」のように選べるパターンが決まっているものや、「晴れ・雨・曇り」のような天気の種類を表すときに使います。

Enumを使うことで、値の間違いを防いだり、コードをわかりやすく整理することができます。

2. Enumの基本的な書き方

2. Enumの基本的な書き方
2. Enumの基本的な書き方

SwiftでEnumを使うには、次のように書きます。


enum Direction {
    case north
    case south
    case east
    case west
}

let myDirection = Direction.north

enumキーワードを使って、選択肢(ここではnorthなど)を定義します。そして、使うときはDirection.northのようにします。

3. 実行例を見てみよう

3. 実行例を見てみよう
3. 実行例を見てみよう

func move(to direction: Direction) {
    switch direction {
    case .north:
        print("北に進みます")
    case .south:
        print("南に進みます")
    case .east:
        print("東に進みます")
    case .west:
        print("西に進みます")
    }
}

let direction = Direction.east
move(to: direction)

4. 実行結果を確認しよう

4. 実行結果を確認しよう
4. 実行結果を確認しよう

東に進みます

このように、Enumを使えば選択肢をしっかり管理しながら、分岐処理もスッキリ書くことができます。

5. よく使う場面

5. よく使う場面
5. よく使う場面

SwiftのEnumは、以下のような場面でよく使われます。

  • アプリの状態管理(ログイン中・ログアウト中など)
  • ボタンの種類(追加・削除・編集など)
  • APIのレスポンスの種類(成功・失敗など)
  • 画面の切り替え(ホーム・設定・プロフィールなど)

選択肢が決まっているデータを使いたいときには、まずEnumを検討してみると良いでしょう。

6. Enumに値を持たせる「Raw Value」

6. Enumに値を持たせる「Raw Value」
6. Enumに値を持たせる「Raw Value」

Enumには、値(Raw Value)を割り当てることもできます。たとえば、曜日に文字列を割り当てたいときに使います。


enum Weekday: String {
    case monday = "月曜日"
    case tuesday = "火曜日"
    case wednesday = "水曜日"
    case thursday = "木曜日"
    case friday = "金曜日"
}

let today = Weekday.wednesday
print("今日は \(today.rawValue) です")

7. 実行結果の例

7. 実行結果の例
7. 実行結果の例

今日は 水曜日 です

rawValueを使うことで、Enumの中に設定した値を簡単に取り出すことができます。

8. 関連値(Associated Value)も使える

8. 関連値(Associated Value)も使える
8. 関連値(Associated Value)も使える

SwiftのEnumは、関連値(Associated Value)も持たせることができます。これは、それぞれのケースに対して追加の情報を持たせたいときに使います。


enum LoginState {
    case loggedIn(userName: String)
    case loggedOut
}

let currentState = LoginState.loggedIn(userName: "太郎")

switch currentState {
case .loggedIn(let userName):
    print("\(userName) さんがログイン中です")
case .loggedOut:
    print("ログアウト状態です")
}

9. 関連値の実行結果

9. 関連値の実行結果
9. 関連値の実行結果

太郎 さんがログイン中です

このように、Enumの各ケースに「値をひもづける」ことで、より柔軟なデータの表現が可能になります。

10. なぜEnumを使うと便利なのか?

10. なぜEnumを使うと便利なのか?
10. なぜEnumを使うと便利なのか?

SwiftでEnum(列挙型)を使うメリットはたくさんあります。

  • 選択肢を限定できる:無効な値が入りにくく、バグを防げます。
  • 可読性が高い:どんな種類のデータか一目で分かります。
  • 保守しやすい:変更や追加がしやすく、コードの管理が簡単です。
  • 安全に型で管理できる:Swiftの型安全な仕組みによって、ミスを未然に防げます。

初心者でも扱いやすく、実務でもよく使われる重要な機能なので、ぜひしっかり理解しておきましょう。

カテゴリの一覧へ
新着記事
Go言語の関数でエラーハンドリングする基本的な方法
Go言語のスライス・マップ・配列をまとめて比較してみよう!初心者でもわかる使い分けの基本
Go言語の条件分岐の見やすい書き方を徹底解説!初心者でもわかるif文の使い方
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.3
Java&Spring記事人気No3
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Kotlinのデータクラス(data class)とは?便利な特徴と使い方を初心者向けにやさしく解説!