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

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

概述我有这个枚举: 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 l 我有这个枚举:
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).

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

总结

以上是内存溢出为你收集整理的ios – 枚举大小写的原始值必须是字面值全部内容,希望文章能够帮你解决ios – 枚举大小写的原始值必须是字面值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1111233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存