【问题标题】:Add field to enum in Swift在 Swift 中将字段添加到枚举
【发布时间】:2014-10-04 06:01:14
【问题描述】:

我正在处理 Swift 中的枚举和子类化。 每个孩子都会带来自己的新属性,这些新属性必须存储在枚举中。这个枚举在母类中声明了一些值。我想为这个枚举增加一些价值。我不知道怎么做,我试过没有结果:

extension MotherClass {
    enum Enumeration {
        case NewProperty
    }
}

【问题讨论】:

标签: ios enums swift


【解决方案1】:

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

【讨论】:

  • Ergg 那么如何制作这个模块化的呢?我想编写代码,以便以后可以添加其他功能,而无需重写代码深处的枚举等等......
  • @Aeradriel 那么enum 对于您的情况不是一个好的选择。只有在可以预先枚举所有可能状态的情况下,才应使用枚举。如果您需要可扩展性,请使用常规类来模拟 enum,其方式类似于在 Java-5 中引入 enum 之前在 Java 中所做的方式。查找“java type-safe enum”以获取有关如何完成的提示;本质上,一个类被指定为enum(实际上并不是一个枚举),并将固定实例添加到该类中以用作enum 值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 2015-02-24
相关资源
最近更新 更多