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