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は名称さえ間違わなければ 拡張しやすくコーディングをわかりやすくできる方法ですので、適材適所で利用できればと思います。

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

CoreTextでTextViewの一文字の向きを変える(#2)

さて、サンプルそのままだと面白くないので、本日6月から開始する自転車規制強化 にのっかったサンプル<自転車の転だけ横に曲げる>にしてみます。(14歳以上が対象。自転車のイヤホン装着や片手走行、 酔っ払い運転、歩道運転、片手スマホ、、、、今まで誰もがやり通してきたことが「逮捕や補導の対象」となるようです。赤切符もきられる ようになるとのことで、自転車に酔っ払ってのって自動車の免停なんかになりかね無いので注意です)

外部ブラウザでURLを開く

アプリから外部ブラウザ(Safari)でURLを開く方法を記載します。内部的に利用する場合はWebViewを利用します。

UIFontのフォント一覧をWebViewで表示させてそれをキャプチャ保存する

文字フォントがわかっても実際の文字がわかりませんので、 WebViewに出力させて、その結果を端末のPhotoアルバムに保存させる処理をつくってみました
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!