1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

【Swift入門】enum(列挙型)の使い方

【Swift入門】
Pocket

Swiftの三大データ構造であるSwift enum(列挙型)は、他の言語の列挙型と同じように連続した名前付きの定数を定義する技術です。Swift enum は構造体やクラスを定義するよりも手軽に関連したデータ構造を定義でき、その上Swiftの可読性をさらに向上させることができます。

Swift enumの書き方

要素の定義と参照の仕方を挙げ、基本的なSwift enumの書き方を示します。

・要素の定義

・要素の参照

let blood0 = BloodType.AB

(変数の方が決まっている場合は省略可能です。
let blood0 = BloodType.AB→let blood1 : BloodType = .B)

※上で紹介した列挙型ですが、下のように書くことで記述を一行に省略することができます。

enum Signal {
case Blue, Yellow, Red
}

値の判定ではswitch文を使用

各要素の値を判定する際は、switch文を用いて実行します。

まず、要素の定義は次のように行います。

値の判定は次のように行います。

実行結果は下記のようになります。

“Where the skies are blue”

値型 enumで値の割り当て

Swift enumの各要素に具体的な値を割り当てる際は、値型enumを使用します。
値の割り当ては次のように行います。

具体的な値を取得するには次のようにrawValueプロパティを使います。

let signal0 = Signal.Blue.rawValue // 1

enumでの値の定義決め

自動的に割り振られる値を使用せず、そのenum要素が持てる値のタイプだけを定義させる場合には関連型enumを使用します。関連型enumは、付属型enumやAssociated Valuesとも呼ばれていますが、いずれの場合も書き方は次の通りです。

以下では要素の定義と各要素が取り得る値のタイプだけを定義しています。

要素が取り得る具体的な値の定義は次のように行います。

関連型enumを用いて各要素の定義に具体的な値を定義することで、構造体やクラスの定義をするよりも簡単に関連するデータ構造の定義を行うことができます。

enum自身にメソッドの定義

冒頭でも紹介しましたが、enum自身もクラス同様にメソッドを持つことができます。書き方を次に示します。

実行結果は次のようになります。

“りんご”

おわりに

クラスや構造体の書き換えを行うことなく、手軽に値を指定できることがSwift enumを使用する利点となります。関連した定数をまとめる場合は、コードの可読性を高めるためSwift enumを積極的に利用しましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加

おすすめスクール

全国30校舎で展開されるヒューマンアカデミーのWeb講座は修了者数4万人超、講師とカリキュラムの満足度がどちらも9割を超えています。就職や転職に必要なレベルの実務スキルを身に付けられます。

WebCampは、一ヶ月の短期集中でWebデザイン、プログラミングスキルを習得するスクールです。学習効果の高い反転授業(自主学習でインプット、講義でアウトプット)を採用し、年間1000名を輩出しています。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

イチ押しランキング

1リナックスアカデミー

リナックスアカデミー

2システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ

3WEB塾

WEB塾

メールマガジン

ページ上部へ戻る