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は名称さえ間違わなければ 拡張しやすくコーディングをわかりやすくできる方法ですので、適材適所で利用できればと思います。
↓こんな記事もありますよ!
![]() 2021-04-22 14:54:53 | かっこいいカルーセル厳選3点!WebGLを使った渋い画像スライダー。
昨日カッコいいスライダーを探す旅にでていました。
よく使われるswiper など、シンプルで使いやすくデザインも良いのですが、何かもの足りない、、、。
そこで調べていくと、webglを使... |
![]() 2021-04-20 14:46:43 | Twillioとは何??skywayとは何が違うのか。webrtcを使う際に判断する情報。
先日webrtc開発で「twillio」といった名前を聞きました。
以前自分でskywayを使ってwebrtcを試していた際に調べた時には、無かったような気もするんだけと、KDDIが絡んでいる... |
![]() 2021-04-19 13:58:21 | 先日久々にアップデートした妊娠週刊パパのAndroid版も。アカウント移管したいんだけど、注文ID見当たらないよ。
先日の妊娠、出産、育児関連のアプリ「妊娠週刊パパ」をAndroid studioで再リリースしようと思ってるんだけど、コンパイル失敗してエミュレータで動かせない。
多分sdkとかapiのバージ... |
Tweet
![]() |
|||
|