【发布时间】:2016-10-04 18:48:01
【问题描述】:
我有一个 String 类型的枚举,它需要多个具有相同值的变量。我的枚举看起来像这样:
class MyClass {
enum MyEnum: String {
case blahA = "blaha"
case blahB = "blahb"
...
static var blahD = "blah"
static var blahE = "blah"
}
}
我在上面的构造中使用静态变量的原因是因为“blahD”和“blahE”都需要引用相同的字符串值,在不同的地方使用(不要问我为什么,它只需要就这样)。但是,我有一个方法需要传入枚举的值,如下所示:
if let testString = myString(foo: MyEnum.blahD) {...}
不幸的是,我收到以下编译错误:
无法将“String”类型的值转换为预期的参数类型“MyClass.MyEnum”。
如何绕过在方法中传递在我的枚举中具有重复值的上述变量,但将其转换为“MyClass.MyEnum”的类型?
【问题讨论】: