在Swift初始值设定项中为类函数提供常量存储属性的默认值?

时间:2016-04-29 19:52:53

标签: swift

我想用NSObject子类

做类似的事情
class Thing: NSObject {
  class func defaultText() -> String { ... }

  let text: String

  init(text: String?) {
    self.text = text ?? self.dynamicType.defaultText() // Of course, this line won't compile
    super.init()
  }
}

这样Thing子类可以覆盖defaultText()而不要求它们覆盖初始值设定项。使用可变的存储属性很容易做到这一点,但让它保持不变会很好。有没有办法做到这一点?

这是一个与overriding static vars in subclasses swift 1.2不同的问题。不希望覆盖常量或静态方法。唯一有问题的是,在设置常量的初始值设定项中,有没有办法根据正在初始化的特定类计算值?

0 个答案:

没有答案