日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

《从零开始学Swift》学习笔记(Day 24)——枚举(Day 24)——枚举

發(fā)布時(shí)間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《从零开始学Swift》学习笔记(Day 24)——枚举(Day 24)——枚举 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:關(guān)東升的博客?

?

Swift中的枚舉可以定義一組常量、提高程序的可讀性;還具有面向?qū)ο筇匦浴?/span>

使用enum關(guān)鍵詞聲明枚舉類型,具體定義放在一對(duì)大括號(hào)內(nèi),枚舉的語(yǔ)法格式如下:

enum 枚舉名

{

???? 枚舉的定義

}

“枚舉名”是該枚舉類型的名稱。它首先應(yīng)該是有效的標(biāo)識(shí)符,其次應(yīng)該遵守面向?qū)ο蟮拿?guī)范,它由一組成員值和一組相關(guān)值組成。

成員值

枚舉的成員值默認(rèn)情況下不是整數(shù)類型,以下代碼是聲明枚舉示例:

enum?WeekDays?{case?Mondaycase?Tuesdaycase?Wednesdaycase?Thursdaycase?Friday }


在這些成員值前面要加上case關(guān)鍵字,也可以將多個(gè)成員值放在同一行,用逗號(hào)隔開,如下所示:

enum?WeekDays?{case?Monday,?Tuesday,?Wednesday,?Thursday,Friday }


下面我們看一個(gè)示例,代碼如下:

var?day?=?WeekDays.Friday day?=?WeekDays.Wednesday day?=?.Monday


使用枚舉成員賦值時(shí)候,我們可以采用完整的“枚舉類型名.成員值”的形式,也可以省略枚舉類型采用“.成員值”的形式。這種省略形式能夠訪問(wèn)的前提是,Swift編譯器能夠根據(jù)上下文環(huán)境推斷類型。因?yàn)槲覀円呀?jīng)在第1行和第2行給day變量賦值,所以即使第3行代碼采用縮寫,Swift編譯器能夠推斷出數(shù)據(jù)類型是WeekDays

原始值

出于業(yè)務(wù)上的需要,要為每個(gè)成員提供某種基本數(shù)據(jù)類型,我們可以為枚舉類型提供原始值(raw values)聲明,這些原始值類型可以是:字符、字符串、整數(shù)和浮點(diǎn)數(shù)等。

原始值枚舉的語(yǔ)法格式如下:

enum?枚舉名:?數(shù)據(jù)類型 {????case?成員名?=?默認(rèn)值... }


在“枚舉名”后面跟“:”和“數(shù)據(jù)類型”就可以聲明原始值枚舉的類型,然后在定義case成員的時(shí)候需要提供原始值。

以下代碼是聲明枚舉示例:

enum?WeekDays:?Int?{case?Monday??????????=0case?Tuesday????????=1case?Wednesday?????=?2case?Thursday???????=3case?Friday?????????=4 }


我們聲明的WeekDays枚舉類型的原始值類型是Int,需要給每個(gè)成員賦值,只要是Int類型都可以,但是每個(gè)分支不能重復(fù)。

相關(guān)值

Swift中除了可以定義一組成員值,還可以定義一組相關(guān)值(associated values),它有點(diǎn)類似于C中的聯(lián)合類型。下面看一個(gè)枚舉類型的聲明:

enum?Figure?{case?Rectangle(Int,?Int)case?Circle(Int) }


枚舉類型Figure(圖形)有兩個(gè)相關(guān)值: Rectangle(矩形)和Circle(圓形)。RectangleCircle是與Figure有關(guān)聯(lián)的相關(guān)值,它們都是元組類型,對(duì)于一個(gè)特定的Figure實(shí)例,只能是其中一個(gè)相關(guān)值。從這一點(diǎn)來(lái)看,枚舉類型的相關(guān)值類似于C中的聯(lián)合類型。

?

歡迎關(guān)注關(guān)東升新浪微博@tony_關(guān)東升。
關(guān)注智捷課堂微信公共平臺(tái),了解最新技術(shù)文章、圖書、教程信息
?????????????????????????????

更多精品iOSCocos、移動(dòng)設(shè)計(jì)課程請(qǐng)關(guān)注智捷課堂官方網(wǎng)站:http://www.zhijieketang.com
智捷課堂論壇網(wǎng)站:http://51work6.com/forum.php

?


總結(jié)

以上是生活随笔為你收集整理的《从零开始学Swift》学习笔记(Day 24)——枚举(Day 24)——枚举的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。