//------------------------//
enum weekdays
func showdaystr(aday:weekdays) -> void
/*亮點2:最原始的索引值了,即使指定了原始值,它還是保留原值,這裡總是0~*/
print(aday.hashvalue)
}showdaystr(weekdays.monday)
/* 如果到這裡,以為列舉內容就結束了。
但swift做了擴充套件,這也是單獨寫個部落格原因。先說多出來的概念。
1: 原始值:
enum 列舉名 : 資料型別
2:相關值
enum 列舉名
*/enum weekday***tendwithraw: string
}}/*亮點3:如果指定了原始值的資料型別,就多了個構造方法,但返回可能是空*/
var day = weekday***tendwithraw.init(rawvalue: "星期一")
day?.hashvalue
print(day?.discription())
print(day==weekday***tendwithraw.monday)
enum weekday***tendwithassociated
}}var dayassociated = weekday***tendwithassociated.wednesday("hello", "world", 8)
/*如果指定了相關值,就隱藏了hashvalue以及與weekday***tendwithassociated.wednesday做比較判斷。
更不像原值的那樣,能利用索引點運算出來,像這樣
let rawvalue = (dayassociated,day)
print(rawvalue.0.discription())
也許這樣處理更安全吧,這個還沒理解透徹~
*/print(dayassociated.discription())
不知道總結的是否全面,不過上面的用法已經很強大了,足矣滿足所有列舉的需求。
乙個列舉都整這麼熱鬧,看來swift真不是蓋的~
參考:
Swift學習筆記 10 列舉
1.定義語法 enum someenumeration2.使用 enum compasspoint var directiontohead compasspoint.west directiontohead south switch directiontohead 注 1.變數乙個次賦值為列舉型別以...
swift學習筆記 20 列舉
當乙個變數有固定的幾個取值的時候,建議用列舉,比如說星期,月份等 列舉型別定義的資料型別的取值,只能是 case 後面的取值 enum weekday string var dayone weekday.friday 如果要改變 dayone 的值,用.就可以訪問 dayone monday 如果s...
swift學習筆記(8) 列舉
enum someenumeration 下面是用列舉表示指南針四個方向的例子 enum compasspoint 列舉中定義的值 如 north,south,east和west 是這個列舉的成員值 或成員 你可以使用case關鍵字來定義乙個新的列舉成員值。注意 與 c 和 objective c ...