列舉的基本定義
enum direction
// 簡寫
enum direction1
// 用法:
// enum 常量
let direction = direction.south
// enum 變數
var direction1 = dreection.east
direction1 = .west
帶有成員值的列舉// 定義了原始值(成員值)後,且為 int,預設遞增
enum direction2: int
// 定義原始值為字串型別
enum drection3: string
// 如果定義了原始值,可以通過 rowvalue 獲取儲存的值
let direction2westnumber = direction2.west.rawvalue // 2
let direction3eaststring = direction3.east.rawvalue // "east"
使用 switch 語句匹配列舉值var direction = direction.south
switch direction
// 列印: "s"
注意:
當通過 switch 匹配列舉值時,如果每個屬性都匹配到,不需要呼叫 default
當只匹配了部分屬性時,必須要呼叫default
direction = .east
switch direction
// 列印: "other direction"
列舉與關聯值
具體使用
enum valueenum
varvalue = valueenum.num(5)
switch
value
// 列印: intvalue: 5
// 當修改 列舉成員 value 的值後, switch 列印的結果:
value = valueenum.score(8.8) // 列印: floatvalue: 8.8
value = valueenum.string("hi mazy")// 列印: stringvalue: hi mazy
value = valueenum.dict(["key":"value"
as anyobject])// 列印: dictvalue: ["key": value]
列舉關聯值的實際使用示例
通過列舉返回網路請求的返回結果1-定義列舉型別,關聯請求結果,包含成功的 json 資料,以及失敗錯誤資訊 error 資料
enum responseresult
2-定義網路請求函式,通過閉包返回結果資訊,結果資訊型別為列舉
func getdata(with url: string, completionhandler: @escaping (responseresult)->void) else }}
}
3-呼叫網路請求方法,通過 switch 處理返回結果資料
getdata(with: "")
}
Swift 基礎學習 列舉基本語法
swift列舉 1 列舉基本語法 2 switch匹配列舉 3 原始值 4 原始值rawvalue方法,2.0版本之前為fromraw 5 列舉關聯值 6 switch提取列舉關聯值 enum method varm0 method add 相當於類名.屬性 var m1 method.sub 2 ...
Swift 的學習 列舉
在swift中,列舉型別是相當重要的乙個資料型別,他跟以往的c語言 object c中的列舉型別有很大的區別 1 在你的 中,用列舉是型別安全的 default 這個分支是沒有必要的寫的,此swich語句中,httpmethond列舉中兩個分支都已經存在 switch getenum compass...
Swift學習筆記 列舉
swift 中普通的列舉形式 enum direction 注意 在 swift 中,列舉的成員變數有著不同的值,他們不再是0,1,2,3 了 多個成員值也可以出現在同一行上,但是要用逗號隔開 enum direction 這一句過後,unknowdirection 就會被推斷是 direction...