2023學年完整公開課版枚舉_第1頁
2023學年完整公開課版枚舉_第2頁
2023學年完整公開課版枚舉_第3頁
2023學年完整公開課版枚舉_第4頁
2023學年完整公開課版枚舉_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

枚舉北京電子科技職業(yè)學院枚舉的創(chuàng)建1枚舉的創(chuàng)建使用enum來創(chuàng)建一個枚舉。就像類和其他所有命名類型一樣,枚舉可以包含方法。enumRank:Int{caseAce=1caseTwo,Three,Four,Five,Six,Seven,Eight,Nine,TencaseJack,Queen,KingfuncsimpleDescription()->String{switchself{case.Ace:return"ace"case.Jack:return"jack"case.Queen:return"queen"case.King:return"king"接前段:

default:returnString(self.rawValue)}}}letace=Rank.AceletaceRawValue=ace.rawValue練習:寫一個函數(shù),通過比較它們的原始值來比較兩個Rank值。默認情況下,Swift按照從0開始每次加1的方式為原始值進行賦值,不過你可以通過顯式賦值進行改變。在例子中,Ace被顯式賦值為1,并且剩下的原始值會按照順序賦值。你也可以使用字符串或者浮點數(shù)作為枚舉的原始值。使用rawValue屬性來訪問一個枚舉成員的原始值。原始值和枚舉值轉換2原始值和枚舉值轉換使用init?(rawValue:)初始化構造器在原始值和枚舉值之間進行轉換。ifletconvertedRank=Rank(rawValue:3){letthreeDescription=convertedRank.simpleDescription()}3枚舉的成員值枚舉的成員值enumSuit{caseSpades,Hearts,Diamonds,ClubsfuncsimpleDescription()->String{switchself{case.Spades:return"spades"case.Hearts:return"hearts"case.Diamonds:return"diamonds"case.Clubs:return"clubs"}}}lethearts=Suit.HeartsletheartsDescription=hearts.simpleDescription()練習:給Suit添加一個color()方法,對spades和clubs返回“black”,對hearts和diamonds返回“red”。枚舉的成員值是實際值,并不是原始值的另一種表達方法。實際上,如果沒有比較有意義的原始值,你就不需要提供原始值。注意,有兩種方式可以引用Hearts成員:給hearts常量賦值時,枚舉成員Suit.Hearts需要用全名來引用,因為常量沒有顯式指定類型。在switch里,枚舉成員使用縮寫.Hearts來引用,因為self的值已經(jīng)知道是一個suit。已知變量類型的情況下你可以使用縮寫。實例值和原始值4實例值和原始值一個枚舉成員的實例可以有實例值。相同枚舉成員的實例可以有不同的值。創(chuàng)建實例的時候傳入值即可。實例值和原始值是不同的:枚舉成員的原始值對于所有實例都是相同的,而且你是在定義枚舉的時候設置原始值。例如,考慮從服務器獲取日出和日落的時間。服務器會返回正常結果或者錯誤信息。enumServerResponse{caseResult(String,String)caseFailure(String)}

letsuccess=ServerResponse.Result("6:00am","8:09pm")letfailure=ServerResponse.Failure("Outofcheese.")

switchsuccess{caselet.Result(sunrise,sunset):letserverResponse="Sunriseisat\(sunrise)andsunsetisat\(sunset)."caselet.Failure(message):print("Failure...\(message)")}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論