Swift 列舉的基本學習和高階使用

2021-08-01 19:06:45 字數 1712 閱讀 8034

列舉的基本定義

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...