【问题标题】:Erase required initializers擦除所需的初始化程序
【发布时间】:2014-08-24 18:02:41
【问题描述】:

我们有很多带有自定义初始化器的 UIView 和 UIViewController 子类,从 Xcode Beta 5 开始,我们必须为每个子类拼出 required init(coder:) 初始化器以满足编译器的要求:

required init(coder aDecoder: NSCoder) {
  fatalError( "NSCoding not supported")
}

我们不使用 Interface Builder 或 Storyboard,因此我们的项目不需要 NSCoding 合规性。有没有办法告诉编译器如果不实现这个方法就可以了,而不必在每个新的子类中添加上面的代码?

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    不,没有办法告诉编译器。你甚至不能在你的子类和UIViewUIViewController 之间实现一个层,它们的唯一目的是required init...

    一旦实现init(frame..) 覆盖,就必须实现required init(coder...)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      • 2019-11-26
      • 2017-08-20
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多