gpt4 book ai didi

ios - 尝试使用在 Swift 中具有重复值的枚举

转载 作者:搜寻专家 更新时间:2023-11-01 06:37:25 25 4
gpt4 key购买 nike

我有一个 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) {...} 

不幸的是,我遇到了以下编译错误:

Cannot convert value of type "String" to expected argument type "MyClass.MyEnum".

我如何避免在方法中传递在我的枚举中具有重复值的上述变量,但将其转换为“MyClass.MyEnum”类型?

最佳答案

如果你让额外的 case 直接引用另一个枚举 case 而不是仅仅为它们分配相同的字符串值,你可以这样做:

class MyClass {

enum MyEnum: String {
case blahA = "blaha"
case blahB = "blahb"
...
case blahD = "blah"
static var blahE = MyEnum.blahD
}
}

然后您可以像传递 MyEnum.blahD 一样传递 MyEnum.blahE

关于ios - 尝试使用在 Swift 中具有重复值的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39859625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com