SwiftのEnum(列挙型)を完全ガイド!初心者でもわかる使い方と実用例
生徒
「先生、Swiftの“Enum”ってなんですか?使い方がよくわかりません……」
先生
「Enumは日本語で“列挙型”と呼ばれていて、選択肢をまとめて管理するのに使われますよ。たとえば、曜日や天気など、決まったパターンの値を表現するのにぴったりです。」
生徒
「決まった選択肢があるときに使うんですね!使い方を詳しく知りたいです!」
先生
「それでは、SwiftのEnumの基本的な使い方と実用例をわかりやすく解説していきましょう。」
1. Enum(列挙型)とは?
Enum(列挙型)とは、「あらかじめ決まった選択肢」をひとまとまりにして使えるようにするSwiftの構文です。
たとえば、「北・南・東・西」のように選べるパターンが決まっているものや、「晴れ・雨・曇り」のような天気の種類を表すときに使います。
Enumを使うことで、値の間違いを防いだり、コードをわかりやすく整理することができます。
2. Enumの基本的な書き方
SwiftでEnumを使うには、次のように書きます。
enum Direction {
case north
case south
case east
case west
}
let myDirection = Direction.north
enumキーワードを使って、選択肢(ここではnorthなど)を定義します。そして、使うときはDirection.northのようにします。
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. 実行結果を確認しよう
東に進みます
このように、Enumを使えば選択肢をしっかり管理しながら、分岐処理もスッキリ書くことができます。
5. よく使う場面
SwiftのEnumは、以下のような場面でよく使われます。
- アプリの状態管理(ログイン中・ログアウト中など)
- ボタンの種類(追加・削除・編集など)
- APIのレスポンスの種類(成功・失敗など)
- 画面の切り替え(ホーム・設定・プロフィールなど)
選択肢が決まっているデータを使いたいときには、まずEnumを検討してみると良いでしょう。
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. 実行結果の例
今日は 水曜日 です
rawValueを使うことで、Enumの中に設定した値を簡単に取り出すことができます。
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. 関連値の実行結果
太郎 さんがログイン中です
このように、Enumの各ケースに「値をひもづける」ことで、より柔軟なデータの表現が可能になります。
10. なぜEnumを使うと便利なのか?
SwiftでEnum(列挙型)を使うメリットはたくさんあります。
- 選択肢を限定できる:無効な値が入りにくく、バグを防げます。
- 可読性が高い:どんな種類のデータか一目で分かります。
- 保守しやすい:変更や追加がしやすく、コードの管理が簡単です。
- 安全に型で管理できる:Swiftの型安全な仕組みによって、ミスを未然に防げます。
初心者でも扱いやすく、実務でもよく使われる重要な機能なので、ぜひしっかり理解しておきましょう。