今回の記事はenumの使い方を初心者にも分かりやすく解説する記事です。enumに似ているものとして「struct」「class」に関しても別記事で解説しているので気になる方はそちらを参考にしてください。
「【Swift】structの分かりやすい使い方ご紹介。」
「【Swift】classの分かりやすい使い方ご紹介。」
enumの分かりやすい役割
「enum」とは列挙型と言われる関連性のある事柄、データを一つにまとめた定数のようなものです。
列挙型は構造体やクラスを管理するよりも簡単にデータ構造の管理ができますし、ソースコードの可読性を向上させることができまます。
要はプログラムを複数人で行う場合や、開発に長期的な運用が必要になってくる場合に人目見てわかるなどの違いがあります。では早速使い方に進んでいきます。
enumの分かりやすい使い方
enumの定義
定義の方法は下記です。
enum Fruits {
case apple
case orange
case melon
case banana
case pineapple
}
上記のように「case」を用いて定義できます。その為「switch」メソッドなどとかなり相性がよく一緒に使用されやすいです。
また、上記の場合は初期値がないですが、下記のように初期値をあらかじめ設定することもできます。
enum Fruits {
case apple = "リンゴ"
case orange = "オレンジ"
case melon = "メロン"
case banana = "バナナ"
case pineapple = "パイナップル"
}
これら定義を行ったものに対してインスタンスを作成して値を呼び出すことができます。詳しく見ていきましょう。
enumの要素を取得
//列挙体の定義
enum Fruits {
case apple
case orange
case melon
case banana
case pineapple
}
//列挙体の要素を取得
let basket = Fruits.apple
print(basket)
//出力
//apple
簡単に値を取り出すことができます。
初期値ありの場合は設定した初期値を取り出せます。
enum Fruits {
case apple = "リンゴ"
case orange = "オレンジ"
case melon = "メロン"
case banana = "バナナ"
case pineapple = "パイナップル"
}
//列挙体の要素を取得
let basket = Fruits.apple.rawValue
print(basket)
//出力
//リンゴ
enumの使い方 〜応用変〜
応用的な使用方法としてはまずは入れ子として使用できる点ではないでしょうか?
enum Fruit {
enum Apple {
case aomori = "青森りんご"
case akita = "秋田りんご"
...(省略)...
//列挙体の要素を取得
let basket = Fruits.Apple.aomori.rowvalue
print(basket)
//出力
//青森りんご
また、よく使われるパターンとしては値をイニシャライザにかけることです。要は初期化です。この初期化は大規模なプログラムになってくると必要不可欠になってくるので覚えておいて損はないです。
//列挙体の定義
enum Fruits {
case apple
case orange
case melon
case banana
case pineapple
init(){
self = Fruits.apple
}
}
//インスタンスを生成
let cl = Fruits()
print(cl)
//apple
以上で今回の使用方法の解説を終了します。
これ以外にもSwift記事を作成しているので気になる方は是非参考にしてみてください。
コメント
[…] 「【Swift】enumの分かりやすい使い方ご紹介。」「【Swift】classの分かりやすい使い方ご紹介。」 […]
[…] 「【Swift】enumの分かりやすい使い方ご紹介。」「【Swift】structの分かりやすい使い方ご紹介。」 […]