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

首頁 > 編程 > Swift > 正文

深入解析Swift編程中枚舉類型的相關使用

2020-03-09 17:52:28
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Swift編程中枚舉類型的相關使用,是Swift入門學習中的基礎知識,需要的朋友可以參考下
 

枚舉是由用戶定義的數據類型的一組相關值。關鍵字 enum 用來定義枚舉數據類型。

枚舉功能
枚舉在 swift 也類似于 C 和 Objective C 中結構類型

  • 它是在一個類中聲明,其值是通過該類的實例來訪問
  • 初始成員值是用枚舉初始化定義的
  • 其功能也擴展確保標準的協議功能

語法
枚舉引入 enum 關鍵字和一對大括號內將它們定義:

復制代碼代碼如下:

enum enumname {
   // enumeration values are described here
}

例如,可以為星期定義枚舉如下:
復制代碼代碼如下:

enum DaysofaWeek {
   case Sunday
   case Monday
    ---
   case Saturday
}

示例
復制代碼代碼如下:

enum names{
   case Swift
   case Closures
}
var lang = names.Closures
lang = .Closures
switch lang
{
   case .Swift:
   println("Welcome to Swift")
   case .Closures:
   println("Welcome to Closures")
   default:
   println("Introduction")
}

當我們上面的程序使用 playground 運行,我們得到以下結果

 

Welcome to Closures

Swift 中的枚舉不象 C 和 Objective C 分配其成員的默認值,相反,成員由它們枚舉名稱明確定義。枚舉名稱應該使用大寫字母(例如:enum DaysofaWeek)。

復制代碼代碼如下:

var weekDay = DaysofaWeek.Sunday 

這里所述枚舉名'DaysofaWeek'被分配給一個變量 weekday.Sunday。它通知編譯器數據類型屬于周日將被分配給該特定類的后續枚舉成員。一旦枚舉成員的數據類型定義,其成員可以通過傳遞值,并進一步計算進行訪問。

 

枚舉與Switch語句
Swift 中的 'Switch' 語句也遵循了多路選擇。 只有一個變量被以基于指定的條件的特定時間訪問。默認情況下,在switch語句用于捕獲不確定的情況(case)。

復制代碼代碼如下:

enum Climate{
   case India
   case America
   case Africa
   case Australia
}

 

var season = Climate.America
season = .America
switch season
{
   case .India:
      println("Climate is Hot")
   case .America:
      println("Climate is Cold")
   case .Africa:
      println("Climate is Moderate")
   case .Australia:
      println("Climate is Rainy")
   default:
      println("Climate is not predictable")
}


當我們上面的程序使用 playground 運行,我們得到以下結果

 

Climte is Cold

該程序首先定義了Climate 作為枚舉名稱。那么它的成員如, 'China', 'America', 'Africa' 和 'Australia' 聲明屬于類 'Climate'. 現在成員 America 被分配到一個 Season 變量。此外,Switch case可以找到對應 .America 的值,并跳轉到該特定語句。 輸出將顯示為 “Climate is Cold”。同樣,所有成員可以通過 switch 語句訪問。 當條件不滿足它打印默認內容 'Climate is not predictable'

枚舉可進一步劃分到相關的值和原始值。

關聯值和原始值之間的差異

深入解析Swift編程中枚舉類型的相關使用

枚舉與關聯值

復制代碼代碼如下:

enum Student{
   case Name(String)
   case Mark(Int,Int,Int)
}
var studDetails = Student.Name("Swift")
var studMarks = Student.Mark(98,97,95)
switch studMarks {
   case .Name(let studName):
      println("Student name is: /(studName).")
   case .Mark(let Mark1, let Mark2, let Mark3):
      println("Student Marks are: /(Mark1),/(Mark2),/(Mark3).")
   default:
      println("Nothing")
}

當我們上面的程序使用 playground 運行,我們得到以下結果

 

Swift989795

例如,考慮訪問學生的名字和標記固定在三個科目枚舉名稱被聲明為 student ,而在枚舉類中的成員名稱都屬于字符串數據類型,標記表示為 mark1, mark2 和 mark3 數據類型為整數。若要訪問的是學生的名字或標記分數:

復制代碼代碼如下:

var studDetails = Student.Name("Swift")
var studMarks = Student.Mark(98,97,95)

現在,如果塊初執行,switch case 將打印學生姓名,否則它將打印學生固定的標記。 如果這兩個條件都失敗了,將執行默認塊。

 

枚舉與原始值
原始值可以是字符串,字符,或任何整數或浮點數類型。每個原始值必須在其枚舉聲明中是唯一的。當整數用于原始值,如果指定的一些枚舉成員沒有任何值,它們會自動遞增。

復制代碼代碼如下:

 enum Month: Int {
   case January = 1, February, March, April, May, June, July, August, September, October, November, December
}

 

let yearMonth = Month.May.rawValue
println("Value of the Month is: /(yearMonth).")


當我們上面的程序使用 playground 運行,我們得到以下結果:

 

Value of the Month is: 5.


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品欧美日韩| 久久精品国产99国产精品澳门| 欧美另类高清videos| 亚洲视频自拍偷拍| 成人亲热视频网站| 久久精品国产91精品亚洲| 国产精品一区二区性色av| 成人中文字幕在线观看| 欧美精品一二区| 成人天堂噜噜噜| 成人疯狂猛交xxx| 午夜精品一区二区三区在线视频| 91视频-88av| 精品久久久久久久久久久| 精品福利在线观看| 国产精品视频自在线| 久久人人爽亚洲精品天堂| 一区二区成人精品| 精品无人区乱码1区2区3区在线| 国产日韩精品综合网站| 亚洲天堂av在线免费观看| 97色伦亚洲国产| 美日韩精品免费视频| 久久99久久99精品中文字幕| 久久久综合免费视频| 日韩一区二区精品视频| 日韩有码片在线观看| 91成人在线观看国产| 亚洲男人天堂2019| 高潮白浆女日韩av免费看| zzjj国产精品一区二区| 欧美日韩国产色视频| 亚洲欧洲高清在线| 久热精品视频在线观看| 国产啪精品视频| 日韩电视剧免费观看网站| 亚洲一区二区精品| 欧美一区二区三区……| 精品福利视频导航| 欧美美最猛性xxxxxx| 久久久久女教师免费一区| 青青精品视频播放| 久久久久久国产精品三级玉女聊斋| 亚洲欧洲激情在线| 欧美精品激情视频| 成人免费视频网| 国产日本欧美一区二区三区| 九九精品视频在线| 成人日韩av在线| 久久中国妇女中文字幕| 成人亲热视频网站| 不卡伊人av在线播放| 久久电影一区二区| 国产日韩精品电影| 欧美高清视频在线| 在线观看日韩www视频免费| 久久99久久亚洲国产| 久久久久久久国产精品视频| 精品自拍视频在线观看| 国产999精品久久久影片官网| 欧美特黄级在线| 欧美一区第一页| 日韩av免费网站| 成人激情av在线| 亚洲91av视频| 日本久久久久久久久| 亚洲精品之草原avav久久| 亚洲第一视频网站| 欧美黄色片视频| 中文国产成人精品| 欧美国产第二页| 高清一区二区三区四区五区| 伊人伊成久久人综合网站| 国产精品久久久久秋霞鲁丝| 国产九九精品视频| 98精品国产自产在线观看| 亚洲精品视频免费在线观看| 国产精品日韩欧美| 国产日韩中文在线| 97精品一区二区视频在线观看| 国产极品jizzhd欧美| 久久久亚洲精选| 亚洲精品欧美极品| 中文字幕精品在线视频| 美女视频久久黄| 成人国产精品久久久| 亚洲最新av网址| 中文字幕日韩精品在线观看| 亚洲综合视频1区| 亚洲精品国产精品国自产观看浪潮| 欧美精品videosex牲欧美| 欧美高清视频在线观看| 亚洲欧美在线一区| 成人国产精品色哟哟| 爱福利视频一区| 国产在线观看一区二区三区| 国产v综合v亚洲欧美久久| 亚洲国产精品成人va在线观看| 在线观看欧美www| 国产日本欧美一区二区三区| 成人深夜直播免费观看| 日韩精品一区二区三区第95| 国产精品久久久久久久久借妻| 91爱爱小视频k| 6080yy精品一区二区三区| 精品视频中文字幕| 91在线观看免费观看| 正在播放亚洲1区| 久久中文字幕在线| 国产精品视频免费在线观看| 色狠狠av一区二区三区香蕉蜜桃| 精品福利在线观看| 欧美人与性动交a欧美精品| 欧美亚洲国产日韩2020| 国产亚洲视频中文字幕视频| 精品国产一区二区三区久久狼黑人| 国产va免费精品高清在线观看| 久久久久久久香蕉网| 毛片精品免费在线观看| 日韩一区二区在线视频| 欧美日本啪啪无遮挡网站| 亚洲美腿欧美激情另类| 国产精品视频久久久久| 亚洲乱码av中文一区二区| 国产主播精品在线| 91高清视频在线免费观看| 欧美不卡视频一区发布| 国产精品久久久久久久9999| 色伦专区97中文字幕| 91av网站在线播放| 欧美一区二粉嫩精品国产一线天| xvideos亚洲人网站| 亚洲国产精品视频在线观看| 久久精品国产成人| 国产精品网址在线| 欧美最猛性xxxxx亚洲精品| 久久综合久久美利坚合众国| 国产精品久久婷婷六月丁香| 亚洲精品美女久久久| 亚洲a在线播放| 性色av一区二区三区免费| 亚洲无线码在线一区观看| 国产欧洲精品视频| 精品视频久久久久久久| 欧美色欧美亚洲高清在线视频| 亚洲国产精品va在线观看黑人| 日韩高清av一区二区三区| 一夜七次郎国产精品亚洲| 国产热re99久久6国产精品| 欧洲午夜精品久久久| 久久久这里只有精品视频| 国产成人一区二区三区| 午夜欧美大片免费观看| 国产极品jizzhd欧美| 国产日韩欧美视频在线| 国产大片精品免费永久看nba| 亚洲另类激情图| 国产精品爽黄69| 日韩精品在线视频观看| 欧美成人免费播放| 成人欧美一区二区三区在线| 色婷婷av一区二区三区在线观看| 欧美午夜宅男影院在线观看| 欧美伦理91i|