在Swift中,枚举中有原始值,类和结构中有默认值。有什么不同?有人可以帮我解释一下吗?
实施例。枚举的原始值(来自Office Swift文档)
enum ASCIIControlCaracter: Character {
case Tab = "\t"
case LineFeed = "\n"
case CarriageReturn = "\r"
}
答案 0 :(得分:3)
来自Apple docs:
原始价值
关联值中的条形码示例显示了一个案例 枚举可以声明它们存储不同的关联值 类型。作为关联值的替代,枚举情况可以 预先填充了默认值(称为原始值),它们是 所有相同的类型。
所以我猜它是一样的。
另一方面,使用"默认值",您可能指的是没有设置值的枚举大小写的默认值,例如:
enum TestEnum: Int {
case A
case B
}
此处,TestEnum.A
的默认值为0
,TestEnum.B
的默认值为1
。
原始值是指枚举案例的实际值(在枚举的类型中,在此示例中为Int
):
enum TestEnum: Int {
case A
case B = 3
}
此处,TestEnum.A
具有0
的默认值(也是原始值),而TestEnum.B
的原始值为3
(不再是{{1}}默认值)。