Swift學習筆記 列舉

2021-07-04 18:58:56 字數 1399 閱讀 5925

swift 中普通的列舉形式

enum direction

// 注意:在 swift 中,列舉的成員變數有著不同的值,他們不再是0,1,2,3 了

// 多個成員值也可以出現在同一行上,但是要用逗號隔開

enum direction ;

// 這一句過後,unknowdirection 就會被推斷是 direction 的乙個可能值

var unknowdirection = direction.weast

// 一旦 unknowdirection 被宣告成乙個 direction ,就可以使用(.)語法將其設定成另乙個 direction 的值

unknowdirection = .east

switch unknowdirection

// "is east"

相關值

enum shopcode

//let productcode = shopcode.upca(8, 568_4556, 3)

let productcode = shopcode.qrcode("abcdefg")

// 你可以在 switch 的 case 分支**中提取每個相關值作為乙個常量(用let前序)或作為乙個變數(用 var 前序)來使用

switch productcode

//"i am so sorry is abcdefg"

原始值

// 原始值可以是字串,字元,或者任何整型值或浮點型值

enum shoptype:int

// 使用列舉成員的 rawvalue 屬性可以訪問該列舉成員的原始值,只有具有原始值的列舉成員才有 rawvalue 屬性

let type = shoptype.income.rawvalue

// 也可以通過引數 rawvalue 來建立定原始值的列舉

let type2 = shoptype(rawvalue: 3)

type2?.rawvalue // 3

// 然而,並非所有可能的int值都可以找到乙個匹配的成員。正因為如此,建構函式可以返回乙個可選的列舉成員。在上面的例子中,type2是shoptype?型別,或「可選的shoptype」。

// 如果通過建構函式 rawvalue 來建立原始值列舉並作為條件需找,那麼可選值 type3 為 .free,不再是 nil

let typetofind = 3

iflet type3 = shoptype(rawvalue: typetofind)

}else

// "free"

//相關值是當你在建立乙個基於列舉成員的新常量或變數時才會被設定,並且每次當你這麼做得時候,它的值可以是不同的

//原始值是當你開始在你的**中定義列舉的時候原始值是被預先填充的值

swift學習筆記之列舉

列舉型別 成員 計算屬性,型別屬性 下標指令碼 方法 enum 的關鍵字不能省略 1 定義任意型別的列舉成員 enum anyenum north 可以賦值任意型別 2 指定型別的列舉成員 enum derication north 只能字串 3.可以初始化列舉成員的值,但是原始值必須是唯一的,不能...

Swift學習筆記 10 列舉

1.定義語法 enum someenumeration2.使用 enum compasspoint var directiontohead compasspoint.west directiontohead south switch directiontohead 注 1.變數乙個次賦值為列舉型別以...

swift學習筆記 20 列舉

當乙個變數有固定的幾個取值的時候,建議用列舉,比如說星期,月份等 列舉型別定義的資料型別的取值,只能是 case 後面的取值 enum weekday string var dayone weekday.friday 如果要改變 dayone 的值,用.就可以訪問 dayone monday 如果s...