非连续值枚举

我想你可能知道用下面这种方式创建每一项自增初始值的枚举类型:

enum MyEnumeration: Int {

case one = 1, two, three, four

}

MyEnumeration.three.rawValue // 3

我想你也可能知道用以下方式创建赋初始值的枚举类型:

enum MyEnumeration: Int {

case one = 1, three = 3, five = 5

}

但是我想你可能不知道用同样的声明可以将两种方式混合并匹配起来。(在下面这个例子中使用了基于标准规定的数值,你可能不应该使用这种方式来声明枚举类型

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

你可能感兴趣的:(非连续值枚举)