Swiftアップルの新プログラミング言語「Swift」をちょっとずついじってるんですが、列挙型とswitch文がなかなか便利になっていたので紹介したいと思います!Objective-Cの列挙型Objective-Cにおける列挙型の定義は、以下のように書きます。‘Red’」などのエラーが出てしまいます。BackgroundColor;これを回避するため、以下のように接頭辞を付けて名前が被らないようにする必要があります。BackgroundColor;列挙型への代入は以下のように書きます。ColorTypeBlue;列挙型の値によってswitch文で分岐するには、以下のようなコードを書きます。BackgroundColor...)を何度も入力しなければならないので面倒くさいです。Swiftの列挙型Swiftにおける列挙型の定義は、以下のように書きます。Blue}Swiftでは値の名前が被ったとしても接頭辞を付ける必要はありません。Blue}値を利用する際は、以下のように型名を先頭につけて区別します。TextColor.Blue変数の型名を明示的に指定する場合は、値の先頭に型名を付けなくても良いようです。.Blueswitch文のcaseでも、型名の指定は不要です。ちなみにSwiftのswitch文では、breakを付けなくてもbreakします。NSLog("青")}型名を接頭辞として付けなくても良くなったので、コードがシンプルで読みやすくなっていると感じます。switch文の網羅性チェックが素晴らしいSwiftのswitch文には「網羅性チェック」という機能が備わっており、これがなかなか素晴らしいです。Objective-Cで以下のようなコードを書いたとします。break;}その後、ColorTypeの値を以下のように増やしたとします。ColorType;ColorTypeYellow向けの処理をswitch文に追加し忘れた場合、プログラムが正しく動作しなくなる可能性があります。基本的にはコーディングする人間がこれをチェックしなければならないわけですが、人間はミスをするので安全とは言えません。それに対してSwiftで同様のことを行ったとしましょう。NSLog("青")}するとswitch文で以下のようなエラーが出ます。NSLog("黄")}defaultを追加します。NSLog("その他の色")}つまり、Swiftのswitch文で列挙型を判定条件に使った場合、すべての値に対する処理が用意されているかを自動でチェックしてくれて、漏れがあればエラーで教えてくれるわけです。これにより、より安全なコードが書けそうです。@akio0911はこう思った。Swiftは「モダン、安全、高速、インタラクティブ」を大きな特徴として挙げていますが、今回紹介したswitch文の網羅性チェックはより安全なコードを書くための機能として追加されたのだと思います。次に作るアプリはSwiftを使ってコードを書こうかなと思ってます!この記事を書いた人あきお(@akio0911)派手髪iOSエンジニア。Twitterアカウントは@akio0911。YouTubeチャンネル「あきおチャンネル」にてiOSアプリ開発講座を公開中。iPhoneレッスンノート」など。iOSアプリ開発をテーマとしたオンラインサロン「アプリ道場サロン」を運営。東京・大阪にてアプリ開発講座「アプリクリエイター道場」を主催。@arlife_nowTwitterで更新情報をゲット!TweetPREV【派手髪】下北沢の美容室で紫とアフターミッドナイトに染めてもらった!【マニパニ】NEXT顔が起き上がるパンダのトーストが作れちゃうパンカッターこんな人がブログを書いています派手髪iOSエンジニアの「あきお」です。Twitterアカウントは@akio0911。YouTubeチャンネル「あきおチャンネル」にてiOSアプリ開発講座を公開中。iOSアプリ開発をテーマとしたオンラインサロン「アプリ道場サロン」を運営。iPhoneレッスンノート」など。未経験者向けのiPhoneアプリ開発講座「アプリクリエイター道場」を東京や大阪などで開講しています。こんにちは、あきお(@akio0911)です。画面遷移後にUITableViewのセルが選択状態のままになってしまうのを防ぐこんにちは、あきお(@akio0911)です。ログイン済み状態でアプリを起動するとナビゲーションバーが表示されない時の対処方法こんにちは、あきお(@akio0911)です。配列を使って冗長なswitchをシンプルにするこんにちは、あきお(@akio0911)です。アプリ道iOSアプリ開発初心者向けに公式ドキュメントの読み方・探し方を解説しますこんばんは、@akio0911です。卵は世界である"鳥は卵の中からぬけ出ようと戦う。生まれようと欲するものは、一つの世界を破壊しなければならない。