swift - 在 swift 中使用 720p、1080p 作为枚举

标签 swift enums

我想在 swift 中使用 720p、1080p 作为枚举。然而,我做不到。我收到一条错误消息:“整数文字前缀后需要一个数字”

enum ASResolution {
    case lowResolution
    case 720p
    case 1080p
    caee highResolution
}

我该怎么办?

我修改了我的代码如下:

enum ASResolution:Int {
    case low = 1
    case HD = 720
    case fullHD = 1080
    case high = 2000
}

最佳答案

如果您想保留这些名称,您无能为力。 枚举大小写是一个标识符,正如您从 Language Reference 中看到的那样对于可以用作第一个字符的字符有限制。

因此,就像您不能以数字开始变量名(它们也是标识符)一样,您也不能以数字开始枚举案例。

您有几个选项:

  • 使用允许的字符(例如下划线)作为标识符的前缀
  • 完全更改标识符,使用单词(sevenTwoZeroPoneZeroEightZeroP)或同义词(HDReadyFullHD)

关于swift - 在 swift 中使用 720p、1080p 作为枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31585999/

相关文章:

swift - 在 Swift/SpriteKit 中生成 Sprite 时出错

ios - 如何使用文本字段进行搜索?

java - 自动为枚举添加类似 Java 枚举的功能

java - 使用外部枚举定义从 JAX-RS 端点生成 Swagger

ios - 如何按字符串日期排序我的 JSON?

ios - 无法将 '()' 的值转换为预期的参数类型 'String' swift 3.0

swift - 为什么要小写uuid?

java - 枚举初始值设定项禁止的一些静态类型

java - 当定义为泛型类参数时,如何获取 Enum 的 valueOf 和值并调用其实现的接口(interface)上的方法

java - 最高序数枚举值