我想你可能知道用下面這種方式創(chuàng)建每一項(xiàng)自增初始值的枚舉類型:
enum MyEnumeration: Int {
case one = 1, two, three, four
}
MyEnumeration.three.rawValue // 3
我想你也可能知道用以下方式創(chuàng)建賦初始值的枚舉類型:
enum MyEnumeration: Int {
case one = 1, three = 3, five = 5
}
但是我想你可能不知道用同樣的聲明可以將兩種方式混合并匹配起來。(在下面這個(gè)例子中使用了基于標(biāo)準(zhǔn)規(guī)定的數(shù)值,你可能不應(yīng)該使用這種方式來聲明枚舉類型
enum HTTPStatusCode: Int {
// 100 Informational
case continue = 100
case switchingProtocols
case processing
// 200 Success
case OK = 200
case created
case accepted
case nonAuthoritativeInformation
}
HTTPStatusCode.accepted.rawValue // 202
原文地址:http://ericasadun.com/2017/01/30/non-contiguous-raw-value-enumerations/?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=email&utm_source=iOS_Dev_Weekly_Issue_286