微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 枚举大小写的原始值必须是字面值

我有这个枚举:
enum GestureDirection:UInt {
    case Up =       1 << 0
    case Down =     1 << 1
    case Left =     1 << 2
    case Right =    1 << 3
}

但是在每一种情况下我都会收到错误

Raw value for enum case must be a literal

我没有得到它

Swift 1.2,Xcode 6.3.2

解决方法

这是因为1< 0不是文字.您可以使用一个字面值的二进制文字,并允许在这里
enum GestureDirection:UInt {
    case Up =       0b000
    case Down =     0b001
    case Left =     0b010
    case Right =    0b100
}

枚举只支持每个language grammar的原始值文字,它们是数字字符串(数字)字符串字面量(字符串)或布尔型文字(bool).

相反,作为一种解决方法,仍然表明您正在做什么.

原文地址:https://www.jb51.cc/iOS/336316.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐