亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

Swift編程之枚舉類型詳解

2020-03-09 17:49:07
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Swift編程之枚舉類型,講解了枚舉語法、匹配枚舉值與switch語句、關(guān)聯(lián)值、原始值等內(nèi)容,Swift中枚舉類型是最重要的類型,感興趣的小伙伴們可以參考一下
 

想必寫過程序的童鞋對枚舉類型并不陌生吧,使用枚舉類型的好處是多多的,在這兒就不做過多的贅述了。Fundation框架和UIKit中的枚舉更是數(shù)不勝數(shù),枚舉可以使你的代碼更易閱讀并且可以提高可維護性。在Swift語言中的枚舉可謂是讓人眼前一亮。在Swift中的枚舉不僅保留了大部分編程語言中枚舉的特性,同時還添加了一些好用而且實用的新特性,在本篇文章中將領(lǐng)略一些Swift中枚舉類型的魅力。

有小伙伴會問,不就是枚舉么,有什么好說的。在Swift中的枚舉怎不然,Swift中的枚舉的功能要強大的多,不僅可以給枚舉元素綁定值,而且可以給枚舉元素關(guān)聯(lián)多個值,同時還可以通過元素的值給一個枚舉變量賦一個枚舉值,并且枚舉中可以定義枚舉函數(shù)。下面將要開始窺探一下Swift中的枚舉。

一、定義枚舉

在Swift中枚舉的定義與其他編程語言中定義枚舉不同,在每個枚舉元素前面多了一個關(guān)鍵字case,  case后緊跟的是枚舉元素,下面是定義枚舉類型的兩種方式。

1. 多個case, 每個枚舉元素前都有個case

//枚舉的定義enum KindOfAnimal { case Cat case Dog case Cow case Duck case Sheep} 

2.一個case搞定所有元素,枚舉元素之間使用逗號隔開

 //你也可以這樣定義枚舉類型enum KindOfAnimalTwo { case Cat, Dog, Cow, Duck, Sheep }

二、枚舉類型的使用

定義完枚舉類型就是為了使用的對吧,直接使用枚舉類型聲明變量即可, 在Swift中是不需要typedef來定義枚舉類型的,我們可以直接使用枚舉類型。

//定義枚舉變量并賦值var animal1: KindOfAnimal = KindOfAnimal.Cat

給枚舉變量賦值時也可以把枚舉類型名省略掉,因為在聲明枚舉變量時就已經(jīng)指定了枚舉變量的類型。

var animal2: KindOfAnimal = .Dog 

在Switch中使用我們的枚舉變量

//在Switch…Case中使用枚舉switch animal1 { case KindOfAnimal.Cat: println("Cat") case KindOfAnimal.Dog: println("Dog") case KindOfAnimal.Cow: println("Cow") case KindOfAnimal.Duck: println("Duck") case KindOfAnimal.Sheep: println("Sheep") default: println("error = 呵呵")}

三、給枚舉成員賦值

在Swift中聲明枚舉時,是可以給每個枚舉成員賦一個值的,下面的City枚舉的成員就被指定了一個值,如下所示:

//給枚舉賦值enum City: String{ case Beijing = "北京" case ShangHai = "上海" case GuangZhou = "廣州" case ShengZhen = "深圳"}

使用枚舉變量的rawValue可以獲取給每個枚舉成員賦的值,代碼如下:

//定義枚舉變量并賦值var myInCity: City = City.Beijing//獲取枚舉變量的值var myInCityString: String = myInCity.rawValue;println(myInCityString) //輸出:北京

四、通過枚舉成員的值給枚舉變量賦值

什么是通過枚舉成員的值給枚舉變量賦值呢?舉個例子,以上面的枚舉類型City為例,假如我們只知道一個枚舉成員的值是“北京”,而不知道“北京”這個值對應(yīng)的枚舉成員是"Beijing", 在Swift中是可以通過“北京”這個值給枚舉變量賦一個枚舉成員“Beijing”的。

是不是有點繞啊,來點實例吧,下面就是通過枚舉成員的原始值給枚舉變量賦值的代碼

//通過枚舉成員的值,來給枚舉成員賦值var youInCity: City? = City(rawValue: "北京");

為啥我們的youInCity是可選值類型的呢?原因很簡單,我們不確定枚舉City中的成員的值是否含有“北京”,枚舉變量youInCity的值是不確定的,所以嘍是可選類型的,下面我們就取出youInCity的值,首先判斷youInCity是否為City.Beijing, 如果是,說明賦值成功就輸出值。

//取出youInCity中的值if youInCity == City.Beijing { var cityName: NSString = youInCity!.rawValue println(cityName) //輸出:北京}

找一個枚舉成員的值中不包含的字符串用來給枚舉變量賦值,觀察一下結(jié)果,下面的testCity的值打印出來為nil, 因為枚舉中沒有一個成員的值為“京”。

//傳入一個枚舉中沒有的值var testCity: City? = City(rawValue: "京");// testCity為nilprintln(testCity)

五、枚舉值自增

好東西還是要保留的,在Swift中的枚舉值如果是整數(shù)的話,第一個賦值后,后邊的會自增的。關(guān)于枚舉值自增就不多說了,直接看實例吧。

//枚舉值自增enum Hour: Int{ case One = 1 case Two case Three case Four case Five case Six case Seven case Eight}var hourTest: Int = Hour.Eight.rawValueprintln(hourTest) // hourTest = 8

六、枚舉關(guān)聯(lián)值

什么是枚舉的關(guān)聯(lián)值呢?從字面意思上看是給枚舉成員關(guān)聯(lián)一個值,沒錯,就是在給枚舉變量賦值時,給枚舉變量關(guān)聯(lián)一個值。在Swift中如何做的呢?就是在聲明枚舉類型中的元素時使用小括號來制定關(guān)聯(lián)值的類型,然后在給枚舉變量賦值的時候關(guān)聯(lián)一個或者多個值即可,直接看實例。

下面的代碼是給iOS指定了兩個String類型的關(guān)聯(lián)值,在給枚舉變量賦值的時候關(guān)聯(lián)兩個值。關(guān)聯(lián)這兩個值可以在Switch語句中進(jìn)行使用。

//枚舉的關(guān)聯(lián)值enum mobileLanguage{ case IOS (String, String) case Android (String)}var iPhone: mobileLanguage = mobileLanguage.IOS("Objective-C", "Swift")switch iPhone { case mobileLanguage.IOS(let language1, let language2): println("language1 = /(language1), language2 = /(language2)")  case mobileLanguage.Android(let temp): println(temp); default: println("NO")}//輸出結(jié)果:language1 = Objective-C, language2 = Swift

七、枚舉函數(shù)

在Swift中的枚舉是可以添加函數(shù)的,有沒有眼前一亮呢。下面的代碼段是在上面的關(guān)聯(lián)值代碼的基礎(chǔ)上添加了一個描述函數(shù),返回的就是當(dāng)前枚舉變量的枚舉信息,如下代碼段所示:

//枚舉函數(shù)enum mobileLanguageFun{ case IOS (String, String) case Android (String) //定義枚舉函數(shù) var description: String{ switch self { case mobileLanguageFun.IOS(let language1, let language2): return "language1 = /(language1), language2 = /(language2)"  case mobileLanguageFun.Android(let temp): return temp default: return ("NO") } }}var myMobile: mobileLanguageFun = mobileLanguageFun.IOS("objc", "swift")println(myMobile.description) //language1 = objc, language2 = swift

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)swift軟件編程有所幫助。



注:相關(guān)教程知識閱讀請移步到swift教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
姑娘第5集在线观看免费好剧| 一区二区91美女张开腿让人桶| 在线观看三级网站| 亚洲视频在线二区| caoporn97免费视频公开| 亚洲欧洲成人av每日更新| 欧美国产精品一区二区| 精品无码一区二区三区爱欲| 国产在线不卡一卡二卡三卡四卡| 综合久久国产| 久久久久久欧美精品se一二三四| 久久精品女同亚洲女同13| 亚洲精品在线一区二区| 亚洲精品一区二三区不卡| 亚洲线精品久久一区二区三区| 成人免费观看av| 91最新在线视频| 亚洲欧洲综合| 成人性生交大片免费看视频直播| 国产一二三四在线| 91亚洲一区二区| 国产福利一区在线| wwwav网站| 国产精品sss在线观看av| 九九这里只精品视在线99| 欧美日韩亚洲综合| 亚洲视频在线看| 久久综合婷婷| 国产亚洲综合色| 麻豆精品传媒视频观看| 日本系列欧美系列| 在线播放av中文字幕| 亚洲最大成人网色| 在线观看区一区二| 九九九九九伊人| 欧美老熟妇一区二区三区| 精品日本一区二区三区在线观看| 欧美猛交免费看| 欧美精品一区二区不卡| 色系列之999| 精品美女视频在线观看免费软件| 水蜜桃精品av一区二区| 在线免费看黄网站| 亚洲女人小视频在线观看| 女人天堂亚洲aⅴ在线观看| 国产精品免费麻豆入口| 性国产高清在线观看| 国产精品视频一区二区三| 欧美黄色小说| 精品国产乱码久久久久久久久| 天堂av资源在线| 色婷婷一区二区| 精品视频久久久久| 欧美男男gaytwinkfreevideos| 日韩在线国产精品| 国产不卡在线观看视频| 最近国语视频在线观看免费播放| 成人做爰69片免费| 国产欧美日韩另类视频免费观看| 国产精品毛片一区二区在线看舒淇| 人人澡人人澡人人看欧美| chinese全程对白| 日韩免费在线观看视频| 在线看黄色av| 天天免费亚洲黑人免费| 亚洲男人的天堂网站| 国产亚洲一区二区精品| 天天想你在线观看完整版电影免费| 国产精品美女久久久久久2018| 成人网免费看| 欧美综合亚洲图片综合区| 成年人网站免费看| 亚洲最大的av网站| 亚洲人妻一区二区| 婷婷综合久久一区二区三区| 中文字幕在线观看1| 欧美一区激情视频在线观看| 乱子伦一区二区三区| 亚洲精品一区二区三区婷婷月| 黄色片在线免费| 九色精品视频在线观看| 欧美国产日韩一区| 黄色网址免费看| 嫩草研究院在线观看| 老司机一区二区| 亚洲iv一区二区三区| 国产精品20p| 99国产精品久久久| 成人3d精品动漫精品一二三| 国产系列第一页| 日韩一区二区在线播放| 五月婷婷丁香花| 久久精品一二三区| 亚洲三级中文字幕| 成人在线播放免费观看| 欧美成人精品| 亚洲私人黄色宅男| 羞羞视频在线观看| 欧美一区二区三区艳史| 午夜不卡在线视频| 国产精品久久久久久久浪潮网站| 日韩在线观看中文字幕| 欧美日韩亚洲一区二区三区四区| 一区二区三区视频观看| 国产高清久久久| 在线日韩影院| 亚洲欧美电影在线观看| 精品日韩视频| 国产一区二区网站| 91精品国产乱码久久久久| 欧美成人一区二区三区在线观看| 国产精品免费在线| 中国女人一级毛片| 欧美高清视频一二三区| 免费观看亚洲视频| 欧美激情性做爰免费视频| 欧美性猛交xxxx乱大交极品| 在线中文字幕av| 1024成人| 日本黄色大片在线观看| 精品裸体舞一区二区三区| 日韩精品一二三四区| 免费在线观看黄色| 国产亚洲久久| 中文字幕视频网站| 国产精品日本一区二区三区在线| 国产精品一品二区三区的使用体验| 美女被久久久| 超碰影院在线| 欧美最猛性xxxxx免费| 91国产丝袜在线播放| 国产亚洲精品久久久久久青梅| 高清不卡在线观看av| 日韩中文在线字幕| 久久99国内精品| www.av亚洲| 国产黄色免费网| 久热免费在线观看| 亚洲最大的成人av| 最新电影电视剧在线观看免费观看| 伊人狠狠av| 99视频免费在线观看| 欧美国产高清| 亚洲精品理论电影| 狠狠色噜噜狠狠狠狠888奇米| 日本少妇一级片| 玖玖在线视频| 久草中文视频| 精品肉辣文txt下载| 欧美激情在线有限公司| 欧美日韩久久久一区| wwwxxx色| 欧美日韩午夜在线视频| 国产女人水真多18毛片18精品视频| 国产美女精品视频免费观看| 国产视频第一页在线观看| 在线免费观看av电影| 国产日韩欧美在线观看| 日韩免费av电影| 一区二区三区自拍| 激情五月五月婷婷| 日韩一区二区三区在线观看视频| 在线亚洲免费视频| 国产一卡2卡3卡免费网站| 一区二区三国产精华液| 国产91精品高潮白浆喷水| 九一在线视频| 亚洲精品一区二区妖精| 国产精品婷婷| 中文字幕有码在线| 国产精品国产自产拍高清av水多| zjzjzjzjzj亚洲女人| 欧美影院一区二区| 日本不卡在线观看视频| 亚洲精品国产电影| 欧美人与性动xxxx| 日韩欧美一级二级三级| 久久久一本二本三本| 国产欧美久久久久久久久| 亚洲乱码一区二区三区在线观看| 久久这里有精品15一区二区三区| 久久毛片亚洲| 中文欧美在线视频| 欧美一区二区三区免费大片| 91在线看黄| 亚洲电影一区二区三区| 91沈先生播放一区二区| 在线观看av免费| 精品一区2区三区| 中文字幕在线视频观看| 91麻豆文化传媒在线观看| 国产又黄又粗又猛又爽的视频| 亚洲男人的天堂在线| 欧美在线免费一级片| 欧美hdxxx| 国产成人精品免费一区二区| 九九免费精品视频| 亚洲精品中文综合第一页| 超碰成人在线播放| 国产三级视频在线播放| 国产精品成人品| 国产成人jvid在线播放| 成人小视频在线| 国产精品xxx视频| 亚洲福利视频二区| 国模精品一区二区| 一级视频在线免费观看| 91九色porn| 91午夜精品| 91精品国产经典在线观看| 色yeye免费人成网站在线观看| 91麻豆制片厂| 国产99久久精品一区二区永久免费| 一区二区三区四区日本视频| 亚洲二区精品| 日韩欧美在线国产| 九九九久久国产免费| 国产精品久久久久久久久晋中| 国产麻豆视频免费观看| 久草福利资源站| 久久免费视频2| 亚洲精品亚洲人成在线观看| 久久精品国产999大香线蕉| 成 人免费视频播放| 可以免费看污视频的网站在线| 成人一级免费视频| 天海翼一区二区| 欧美一区二区公司| 国产日产精品一区二区三区四区的观看方式| h片在线观看视频免费免费| 国产精品久久久久永久免费观看| 欧美4khd| 成人a视频在线观看| 国产在线一区不卡| 毛片一级免费一级| 欧美一区二三区| 亚洲三级在线观看视频| 免费欧美日韩| 国产精品美女久久久久高潮| 国产高清精品在线| 日韩精品91亚洲二区在线观看| 欧性猛交ⅹxxx乱大交| 国产精品三级视频| 四虎在线视频免费观看| 97秋霞电影网| 欧美午夜春性猛交xxxx| 亚洲欧美国产日韩综合| aiss精品大尺度系列| 99精品免费观看| 亚洲制服欧美另类| 日韩国产欧美三级| 国产精品国产三级国产专播精品人| 97夜夜澡人人双人人人喊| 成人性生交视频免费观看| 老司机午夜精品| 人妻av一区二区三区| 丝袜+亚洲+另类+欧美+变态| 日韩精品一级中文字幕精品视频免费观看| 黄色片在线观看网站| 136国产福利精品导航网址| 国产草草浮力影院| 亚洲a区在线视频| 亚洲欧美电影在线观看| 久久99精品国产麻豆婷婷| 伊人久久大香线蕉成人综合网| 啦啦啦啦免费高清视频在线观看1| 精品国产1区2区| 国产精品无av码在线观看| 国产成人福利短视频app| 你懂得在线网址| 自拍视频在线观看一区二区| 欧美韩国亚洲| 成人黄色av网站在线| 国产三级精品在线| 国产视频播放| 成人午夜激情视频| 狠狠躁夜夜躁人人躁婷婷91| 户外露出一区二区三区| 黄www在线观看| 已婚少妇美妙人妻系列| 色戒在线免费观看| 97欧美在线视频| 日韩av第一页| 青青草国产成人av片免费| 国内欧美日韩| 久久av在线| 国产精品自产拍高潮在线观看| 91成人免费网站| 精品一区二区三区中文字幕在线| 欧美精品亚州精品| 亚洲欧洲一区| 91精品国产吴梦梦| 色资源网在线观看| 美女被人操网站| 三级黄色在线观看| 肥臀熟女一区二区三区| 国产成人精品aa毛片| 俄罗斯xxxx性全过程| 国产在线资源一区| 精品久久免费观看| 日韩av色在线| japansex久久高清精品| 成人区人妻精品一区二| 玖玖精品一区| 视频精品一区二区| 九九在线视频| 妞干网在线视频| 国产熟女一区二区三区四区| 超碰超碰人人人人精品| 国内成人自拍视频| 日韩深夜福利网站| 国产同性人妖ts口直男| 国内偷拍精品视频| 福利在线导航136| 少妇高潮久久久| 粉嫩高清一区二区三区精品视频| 红桃视频在线观看一区二区| 菠萝菠萝蜜网站| 国产伦理精品不卡| 青檬在线电视剧在线观看| 欧美精品乱码久久久久久按摩| 国产视频资源| 狠狠操一区二区三区| 国产免费一区二区三区网站免费| 狠狠躁夜夜躁久久躁别揉| 日本在线一区二区三区| 91国产一区在线| 日本视频免费高清一本18|