如何在swift中从enum中获取case的关联值?我下面的代码看起来不错。但是我清理了getValue()
?因为它必须是[String]
return?
enum ColorName: {
case naming([String])
case rbg([String])
var description: String {
get { return String(describing: self) }
}
func getValue() -> [String] {
switch self {
case .naming(let num):
return num
case .rbg(let num):
return num
}
}
}
let color = ColorName.naming(["blue", "red", "green"])
print(color.description) /// it should return naming since we return the name string
print(color.getValue()) /// get ["blue", "red", "green"]
字符串
1条答案
按热度按时间pexxcrt21#
您可以将这两种情况合并结合起来-现在您只需要编写
return num
一次。字符串
如果你的枚举只有这两种情况,我会把它写成一个带有
[String]
属性和枚举属性的结构。型