如何在Swift中从另一个枚举创建枚举?

时间:2019-11-21 22:16:07

标签: swift enums

有没有办法像这样的枚举

enum Foo: Int {
   case unknown
   case secondCase
   case thirdCase
}

要创建另一个枚举以仅包含该枚举的某些特定情况?

类似

enum Bar: Int {
   case Foo.unknown
   case Foo.secondCase
}

提前谢谢

1 个答案:

答案 0 :(得分:2)

据我所知,不,但是您可以这样做:

enum Bar: Int {
    case unknown
    case secondCase
}

enum Foo: Int {
    case bar(Bar)
    case thirdCase
}

您必须实现自己的Equatable,Hashable等一致性,但是可以做到。枚举不是为此设计的,语言也不是。

将来,有人可以在Swift Forums上提出建议,社区会提出建议以发展语言。