在Swift中为枚举添加字段

Aer*_*iel 6 enums ios swift

我正在处理swift中的枚举和子类化.每个孩子都带有自己的新属性,这些属性必须存储在Enum中.这个枚举在母类中声明了一些值.我想为这个枚举添加一些价值.我无法找到如何做到这一点,我尝试了没有结果:

extension MotherClass {
    enum Enumeration {
        case NewProperty
    }
}
Run Code Online (Sandbox Code Playgroud)

das*_*ght 12

将项添加到a的唯一方法enum是将它们直接添加到其声明中.您不能向enum直接继承或任何其他扩展机制添加更多项:enum必须在声明时完全定义.

  • @Aeradriel那么“enum”对于您的情况来说不是一个好的选择。仅当您可以预先枚举所有可能的状态时才应使用枚举。如果您需要可扩展性,请使用常规类来模拟“enum”,其方式类似于在 Java-5 中引入“enum”之前在 Java 中的实现方式。查找“java 类型安全枚举”以获取有关如何完成此操作的提示;本质上,一个类被指定为“枚举”(实际上不是枚举),并且固定实例被添加到该类中以充当“枚举”值。 (2认同)