我是否应该在Swift中明确指定超类和枚举的起始值

我是否应该在Swift中明确指定超类和枚举的起始值,swift,Swift,我是否应该在Swift中显式指定包含从0开始的整数值的枚举的超类和起始值 enum Foo: Int { case Bar case Baz } 提前感谢。这不完全是枚举的超类(尽管看起来像),而是原始值类型 如果要为每个枚举案例指定一个值,则必须指定类型,该类型可以是Int,也可以是String,以及可以用文本初始化的任何其他类型 如果原始值类型为任何整数类型,则可以忽略与每种情况相关联的值,在这种情况下,将自动分配增量值,从0开始。相反,非整数类型必须为每种情况都显式指定一

我是否应该在Swift中显式指定包含从0开始的整数值的枚举的超类和起始值

enum Foo: Int {
    case Bar
    case Baz
}

提前感谢。

这不完全是枚举的超类(尽管看起来像),而是原始值类型

如果要为每个枚举案例指定一个值,则必须指定类型,该类型可以是
Int
,也可以是
String
,以及可以用文本初始化的任何其他类型


如果原始值类型为任何整数类型,则可以忽略与每种情况相关联的值,在这种情况下,将自动分配增量值,从0开始。相反,非整数类型必须为每种情况都显式指定一个值。

否。为什么要这样做?但如果我没有显式指定类型,我就没有rawValue方法,对吗?是的,这是正确的。唯一可用的属性是
hashValue
,它显然是一个增量整数(请参阅)