Swift如何避免重写init?

时间:2018-08-27 16:19:22

标签: ios swift

使用Swift的一个常见烦恼是,即使您不使用Storyboard,子类也必须实现init?(编码器)。

required init?(coder aDecoder: NSCoder) {
  fatalError("init(coder:) has not been implemented")
}

这不优雅。如何避免在子类中覆盖它?

1 个答案:

答案 0 :(得分:0)

如果您有基类,请在基类中重写它,并添加@available(*, unavailable)标志,以便其子类可以避免重写该方法,并且此方法也将从代码完成中删除。

@available(*, unavailable)
required init?(coder aDecoder: NSCoder) {
  fatalError("init(coder:) has not been implemented")
}