Swift列舉的一些小用法總結

2022-09-20 21:12:16 字數 1120 閱讀 5986

前言

在 swift 中,列舉是乙個非常方便也非常強大的型別。我們在日常使用中也經常會使用到它。

例如,我們最常見的 optional:

enum optional

這裡不準備介紹列舉的基本用法,只是記錄兩個比較好用的列舉用法。

關聯值關聯值是將額外資訊附加到 enum case 中的一種極好的方式。

例如,當我們需要將一系列的值傳到下乙個類中時,一般情況下我們像下方**一樣寫出幾個設定的方法:

struct mystruct else

}www.cppcns.com

}class two

func setvalue2(value: int?)

func setvalue2(value: mystruct?)

}這樣當需要傳的值變多時,**無疑就會變得沒那麼好看了。我們可以用列舉來簡化:

enum valuebind

class two

}}利用列舉關聯值之後,咱們的**馬上就簡潔了不少。

自定義列舉型別

平常我們使用列舉時,我們在為列舉定義 value 時,一般就只用了幾種基本的型別:

enum direction

enum stringenum: string

enum intenum: int

但是,如果我們需要在列舉型別放入我們自定義的型別的話,我們就需要為列舉加一些東西了。

enum customenuceswlxamtm: rawrepresentable

} var rawvalue: mystruct

}}我們讓列舉遵守 rawrepresentable 協議,並實現協議的一些屬性及方法:

/*將列舉的 rawvalue 關聯為自己希望的型別

**/associatedtype rawvalue

/* 利用自己關聯的型別生成列舉的例項

**/init?(rawvalue: self.rawvalue)

/* 將自己定義的型別的作為 rawvalue 返回

**/var rawvalue: self.rawvalue

總程式設計客棧結

本文標題: swift列舉的一些小用法總結

本文位址:

一些小總結

1.不使用中間變數,更換2個變數的值的3個方法 int a 34 int b 45 system.out.println a a b b a b b a 0 system.out.println a a b b a a b b a b a a b system.out.println a a b b...

很雜的一些小總結

前前後後研究了有小半月,總算從零基礎,有了一些感想。不過今天的主題不是這個。前段時間的進度是,成功實現,依據班級資訊,學期資訊,從青果上將課程表頁面 爬下來,並用正規表示式實現了所需 提取。而今天,要做的事情是將提取的資料,存入到mysql中。這中間出現了挺多問題的,所以打算記錄一下。mysql也是...

Regx的一些小總結

一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...