这有什么不行的?
enum Aspect : CGFloat {
case Clockwise = 1.0
case Anticlockwise = -1.0
}
在逆时针行上,我被告知“枚举大小写的原始值必须是文字”
这听起来像一个错误。但是,如果您省略小数部分,它似乎可以工作:
enum Aspect : CGFloat {
case Clockwise = 1
case Anticlockwise = -1
}
奇怪的是,带有减号的浮点数不是文字,而是表达式。所以错误信息是正确的。
来自 Swift 编程语言:
与整数文字不同,负浮点数通过将一元减号运算符 (-) 应用于浮点文字来表示,如 -42.0。结果是一个表达式,而不是浮点文字。
这已在 Swift 1.2(Xcode 6.3 beta)中得到修复。从发行说明:
负浮点文字现在被接受为枚举中的原始值。
因此,您的代码现在可以毫无问题地编译和工作,您现在还可以定义非整数负枚举值,这在以前是不可能的:
enum Aspect : CGFloat {
case Clockwise = 1.0
case Anticlockwise = -1.0
case Strange = -1.25
}