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

时间:2018-03-06 14:58:01

标签: swift enums enumeration

我尝试创建枚举,哪些元素将被复制另一个枚举,如下所示:

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

enum GeneralModes {
    case mode1
    case mode2
}

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

1 个答案:

答案 0 :(得分:1)

您无法从另一个enum继承enum,并且没有内置方法可以让您enum实施另一个enum实施的所有案例。

一种可能的解决方法是给Modes一个带有关联值的案例,该值的类型为GeneralModes

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

enum GeneralModes {
    case mode1
    case mode2
}

然后,您可以创建Modes类型的变量,其值为mode1,如

let mode1 = Modes.general(.mode1)