Swift學(xué)習(xí)筆記-枚舉

  • 枚舉值沒有默認(rèn)值饺汹,默認(rèn)為枚舉類型力惯。
  • switch中必須列出所有可能,不然必須用default
  • 設(shè)置有默認(rèn)值的枚舉璃俗,必須在枚舉類型后聲明類型套利。取值的時候直接.rawValue(原始值)即可推励。
  • 關(guān)聯(lián)值只能保存一個鹤耍,因?yàn)槊杜e只能選其一。
  • 如果枚舉的關(guān)聯(lián)值使用到了自己验辞,則需要添加indirect

1.多個成員值可以在同一行上稿黄,用,分開

enum direction {
        case east,west
        case north
        case sourth
    }

2.當(dāng)變量的類型已知為枚舉型時,可以用 .east賦值跌造。(如tab.separatorStyle = .singleLine)

3.關(guān)聯(lián)值抛猖。

enum direction {
        case east,west(Int,Int)
        case north(String)
    }

//如果后面要改變內(nèi)部枚舉類型的值,這里必須為var鼻听。只能擁有一個關(guān)聯(lián)值,相當(dāng)于枚舉時的枚舉值切換。
var x = direction.west(1, 2)
        x = .north("zc")
        
        switch x {
        case let .west(a, b):
            print(a+b)
        case let .north(c):
            print(c)
        default:
            print("default")
        }

4.設(shè)置原始值联四,需要在枚舉后面加上類型撑碴,字符串默認(rèn)就是枚舉的名字,Int默認(rèn)為0 依次+1.(枚舉值的類型必須為字符朝墩,整型醉拓,浮點(diǎn)型,不可為元祖)
取值時使用rawValue

enum direction:Int {
        case east = 1
        case north = 2
        case sourth = 3
    }

let x = direction.west.rawValue
if  let x = direction(rawValue: 2){
            switch x {
            case .east:
                print("一路向東")
            default:
                print("不走了")
            }
        }else{
            print("沒有改值")
        }

5.遞歸枚舉,就是在枚舉中仍然使用該枚舉類型。

enum ArithmeticExpression {
        case number(Int)
        indirect case addition(ArithmeticExpression, ArithmeticExpression)
        indirect case multiplication(ArithmeticExpression, ArithmeticExpression)
    }

func evalute (_ expression: ArithmeticExpression) -> Int {
        
        switch expression {
        case let .number(a):
            return a
        case let .addition(a, b):
            return evalute(_:a)+evalute(_:b)
        case let .multiplication(a, b):
            return evalute(_:a)*evalute(_:b)
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末收苏,一起剝皮案震驚了整個濱河市亿卤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鹿霸,老刑警劉巖排吴,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異懦鼠,居然都是意外死亡钻哩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門肛冶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來街氢,“玉大人,你說我怎么就攤上這事睦袖∩核啵” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵馅笙,是天一觀的道長伦乔。 經(jīng)常有香客問我,道長延蟹,這世上最難降的妖魔是什么评矩? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮阱飘,結(jié)果婚禮上斥杜,老公的妹妹穿的比我還像新娘虱颗。我一直安慰自己,他們只是感情好蔗喂,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布忘渔。 她就那樣靜靜地躺著,像睡著了一般缰儿。 火紅的嫁衣襯著肌膚如雪畦粮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天乖阵,我揣著相機(jī)與錄音宣赔,去河邊找鬼。 笑死瞪浸,一個胖子當(dāng)著我的面吹牛儒将,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播对蒲,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼钩蚊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蹈矮?” 一聲冷哼從身側(cè)響起砰逻,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泛鸟,沒想到半個月后蝠咆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谈况,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年勺美,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碑韵。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡赡茸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出祝闻,到底是詐尸還是另有隱情占卧,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布联喘,位于F島的核電站华蜒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏豁遭。R本人自食惡果不足惜叭喜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓖谢。 院中可真熱鬧捂蕴,春花似錦譬涡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溉知,卻和暖如春陨瘩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背级乍。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工舌劳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玫荣。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓蒿囤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崇决。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容