可以创建枚举作为另一个枚举的一部分吗?

Can create enumeration as part of another enumeration?

我尝试创建枚举,其中的元素将被复制到另一个枚举中,如下所示:

enum Modes {
    case mode1
    case mode2
    case additionalMode1
    case additionalMode2
}

enum GeneralModes {
    case mode1
    case mode2
}

我不知道该怎么做。需要一些备份。 感谢所有的答案和想法。

你不能让一个 enum 从另一个 enum 继承并且没有 built-in 方法让你的 enum 实现另一个 [=12] 的所有情况=] 实施。

一种可能的解决方法是为 Modes 提供一个具有关联值的案例,其类型为 GeneralModes.

enum Modes {
    case general(GeneralModes)
    case additionalMode1
    case additionalMode2
}

enum GeneralModes {
    case mode1
    case mode2
}

然后你可以创建一个类型为 Modes 的变量,其值为 mode1,例如

let mode1 = Modes.general(.mode1)