LoginSignup
10
9

More than 5 years have passed since last update.

Swiftでenumの整理

Last updated at Posted at 2014-10-19

過去の経験上、Java等でもenum列挙型をそれほど多く使用していなかった。それなので個人的には結構ノーマークな話題。
しかし、Swiftもバージョンアップしてきて仕様も変わっており勉強に追い付いていないため、これを機にenumを整理してみる。.toRaw等のメソッドもいつの間にか失くなっているしね。

ちなみに、enumの中身の値を確認するために、あえてPlaygroundで変数への代入をしてます。

戻り値指定無しのenum

下記のように、enumを展開すると変数に(Enum Value)型が代入されている。

スクリーンショット 2014-10-19 18.10.33.png

そこで、.hashValueというメソッドで実際の値を取得できるようだ。
値の中身は一般的なenumらしく、0から整数順(0,1,2,3,4,5)にて値が設定されている。
.hashValueというくらいなので、これらはハッシュ値なのであろう。

スクリーンショット 2014-10-19 18.13.34.png

戻り値(Int)指定のenum

今度は、Int値を返すように:Intを指定。
この場合、.hashValueでも、.rawValueでも利用できる。

スクリーンショット 2014-10-19 18.20.40.png

戻り値(String)指定のenum

今度は、String値を返すように:Stringを指定。
するとコンパイルエラーとなる。

スクリーンショット 2014-10-19 18.26.46.png

String型を返すように明示したのだから、enumの値にStringの値を設定してあげる。

スクリーンショット 2014-10-19 18.29.53.png

上記の結果を見て、enumがどのように展開するかが見えてきた。
実際のenumの使いどころは下記のように、myPetenum型として使える。戻り値のString型ではないのがミソ。

スクリーンショット 2014-10-19 20.34.56.png

とりあえず、色々試したいし、長くなりそうなので今回はここまで・・・。

Lovely Swift!!

10
9
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
10
9