枚举的原始值,类/结构的默认值,有什么不同?

时间:2016-05-24 13:37:45

标签: swift default

在Swift中,枚举中有原始值,类和结构中有默认值。有什么不同?有人可以帮我解释一下吗?

实施例。枚举的原始值(来自Office Swift文档)

enum ASCIIControlCaracter: Character {
    case Tab = "\t"
    case LineFeed = "\n"
    case CarriageReturn = "\r"
}

1 个答案:

答案 0 :(得分:3)

来自Apple docs

  

原始价值

     

关联值中的条形码示例显示了一个案例   枚举可以声明它们存储不同的关联值   类型。作为关联值的替代,枚举情况可以   预先填充了默认值(称为原始值),它们是   所有相同的类型。

所以我猜它是一样的。

另一方面,使用"默认值",您可能指的是没有设置值的枚举大小写的默认值,例如:

enum TestEnum: Int  {    
    case A
    case B    
}

此处,TestEnum.A的默认值为0TestEnum.B的默认值为1

原始值是指枚举案例的实际值(在枚举的类型中,在此示例中为Int):

enum TestEnum: Int  {    
    case A
    case B = 3   
}

此处,TestEnum.A具有0的默认值(也是原始值),而TestEnum.B的原始值为3(不再是{{1}}默认值)。