Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > Enum

Enum

定数を列挙する方法です。phpのdefineの様なものです。例えばフルーツのEnumタイプにapple, orange,grape等。同じカテゴリーに 属する名称をリスト化して、アクセスしやすいメンテしやすいようにすることができます。


参考:SwiftのENUM
参考:Enums and Structs in Swift

まずやってみます

まずサラリーマンの階級をEnumにしてみます。


//平社員、部長、社長
enum SalarymanType {
  case hira
  case buchou
  case shacho
}


//横一行で宣言することもできます。caseの文字が省略できるので節約できます。
enum Salaryman { hira,buchou,shacho }

社長はサラリーマンというか経営者ですのでエラーかもしれませんが、、、、一例としてこのまま進ませていただきます。


以下のように利用できます


//meやyouのtypeがSalarymanType型であることが前提
var me.type = SalarymanType.hira
var me.type : SalarymanType = .hira

if (you.type == SalarymanType.shacho){
    print("お友達になってください");
}


Enumの中で関数も作成可能です


enum SalarymanType {
  case hira
  case buchou
  case shacho
}

func toString() -> String {
    switch self
    case .hira:
      return "平社員"
    case .buchou:
      return "部長"
    case .shacho:
      return "社長"
  }

print (me.type.toString());//平社員


Enum宣言時に値をいれて取り出すこともできます


enum SalarymanType {
  case hira ="平社員"
  case buchou="部長"
  case shacho="社長"
}

print(me.type.rawValue);//平社員


宣言時に複数の値を持たせることも、、、なんだか使い方が多岐にわたっています


enum Salaryman {
  case name(String,String)
  case salary(Short)
}
//利用方法
var name = User.Name("スイフト", "太郎")
switch name {
  case. name(let lastName, let firstName):
    let fullName = "\(lastName) \(firstName)"
    println(fullName) // スイフト 太郎
  case. salary(let salary):
    let salary = salary
}

まとめ

Enumに関数をいれたり変数いれて管理できるようですが、ここまでするのであればクラス化して管理した方がわかりやすいのかなと思っていました。 Enum=単純なリストとする方がメンテもダイレクトで簡単な気がします。(私のまだまだ未熟なプログラマ経験の上ですが、、)。Enumは名称さえ間違わなければ 拡張しやすくコーディングをわかりやすくできる方法ですので、適材適所で利用できればと思います。

↓こんな記事もありますよ!

presentViewControllerで画面遷移下からビョーン

下からビョーンとUIViewControllerを出す方法を記載します。この処理も多用していたのですがこのHPになかったので追記しました。 Navigationと連動させた横へシャーと移動するスライドの関数(pop)とは違うので注意です。

RSSリーダで利用するAPIを検証してみる

ニュースアプリの様なRSSを表示させたいのですがXMLを処理するAPIが数点存在するようです。 Swiftにあったものを見つけ出せたらと思います。

SQLiteを使いたい。ラッパーを検証してみる。(#2)

前回の記事でSQLiteのラッパのRMDB, SWiftData,SQLite.swiftの検証をトライしまいたが、時間の問題で頓挫してしまいましたので続きです。 。ある程度準備が完了しましたので、それぞれのサンプルを動かしてみてみようと思います。InsertとSelectとインストール感を比較してみます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!