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

问题描述 投票:0回答:1

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

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

enum GeneralModes {
    case mode1
    case mode2
}

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

swift enums enumeration
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.