我想你可能知道用下面这种方式创建每一项自增初始值的枚举类型:
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
网友评论