在swift中是否可以使用多词枚举?

在swift中是否可以使用多词枚举?,swift,Swift,是否可以使用多词枚举案例,例如 enum Country: Int { case Pakistan=1,United Arab Emirates,United Kingdom } 我试过: enum Country: Int { case Pakistan=1,"United Arab Emirates","United Kingdom" } 没有运气:( :3:46:错误:枚举“case”声明中逗号后应为标识符 案例巴基斯坦=1,“阿拉伯联合酋长国”、“联合王国

是否可以使用多词枚举案例,例如

enum Country: Int {
       case Pakistan=1,United Arab Emirates,United Kingdom
}
我试过:

enum Country: Int {
       case Pakistan=1,"United Arab Emirates","United Kingdom"
}
没有运气:(

:3:46:错误:枚举“case”声明中逗号后应为标识符
案例巴基斯坦=1,“阿拉伯联合酋长国”、“联合王国”
^
:3:46:错误:行上的连续声明必须用“;”分隔
案例巴基斯坦=1,“阿拉伯联合酋长国”、“联合王国”
^
;
:3:46:错误:预期的声明
案例巴基斯坦=1,“阿拉伯联合酋长国”、“联合王国”
^
:2:15:错误:没有案例的枚举无法声明原始类型
枚举国家/地区:Int{
^
:2:6:错误:类型“Country”不符合协议“RawRepresentable”
枚举国家/地区:Int{
^
Swift.RawRepresentable:9:13:注意:协议要求嵌套类型“RawValue”
typealias原始值
^
不,这是不可能的。 相反,使用PascalCase

enum Country: Int {
   case Pakistan=1, UnitedArabEmirates, UnitedKingdom
}
不,这是不可能的。 相反,使用PascalCase

enum Country: Int {
   case Pakistan=1, UnitedArabEmirates, UnitedKingdom
}
您不能在“case”声明中使用“space”,但可以使用“underscore”。然后您可以添加属性,将“underscore”替换为“space”

然后你可以像这样使用它

    let country = Country.United_Arab_Emirates
    print(country.rawValue, ":", country.stringValue)
您不能在“case”声明中使用“space”,但可以使用“underscore”。然后您可以添加属性,将“underscore”替换为“space”

然后你可以像这样使用它

    let country = Country.United_Arab_Emirates
    print(country.rawValue, ":", country.stringValue)

不,这是你问题的答案

检查Swift的语言参考:

枚举声明的语法

枚举案例名称→

所有枚举案例名称都需要匹配,但空格分隔的单词(即使您试图将它们括在引号中)不匹配

如果可以使用
String
作为枚举的原始值,则可以编写如下内容:

enum Country: String {
    case Pakistan, UnitedArabEmirates = "United Arab Emirates", UnitedKingdom = "United Kingdom"
}

但是,正如您所看到的,这个枚举缺少每个用例的
Int
信息,因此可能不适合您的用例。

否,这是您问题的答案

检查Swift的语言参考:

枚举声明的语法

枚举案例名称→

所有枚举案例名称都需要匹配,但空格分隔的单词(即使您试图将它们括在引号中)不匹配

如果可以使用
String
作为枚举的原始值,则可以编写如下内容:

enum Country: String {
    case Pakistan, UnitedArabEmirates = "United Arab Emirates", UnitedKingdom = "United Kingdom"
}

但是,如您所见,此枚举缺少每种情况的
Int
信息,因此可能不适合您的用例。

您实际上可以如下所示使用这些值:

enum SuctionFrequencyTime: Int {
    static let values = ["<½ Hr", "½ Hr", "Hourly", "2 Hourly", ">2 Hourly"]
    case lessThanHalfHour = 1, halfHour, hourly, twoHours, greaterThanTwoHours
}
enum SuctionFrequencyTime:Int{
静态let值=[“2小时”]
案例小于半小时=1,半小时,小时,两小时,大于两小时
}

如果没有空格,您可以使用
caseitrable
来符合enum

您实际上可以如下所示并使用这些值:

enum SuctionFrequencyTime: Int {
    static let values = ["<½ Hr", "½ Hr", "Hourly", "2 Hourly", ">2 Hourly"]
    case lessThanHalfHour = 1, halfHour, hourly, twoHours, greaterThanTwoHours
}
enum SuctionFrequencyTime:Int{
静态let值=[“2小时”]
案例小于半小时=1,半小时,小时,两小时,大于两小时
}

如果没有空格,您可以使用
caseitrable
来符合enum

如果您可以添加对文档的引用就好了,谢谢如果您可以添加对文档的引用就好了,谢谢