Xcode 13方便初始化编译器问题



在我更新到Xcode 13之前,下面的代码在Xcode 12中创建的另一个自定义UIView中运行良好。我创建了这个新的自定义视图,编译器参考init 的便利性给出了以下矛盾的错误

  1. 重写声明需要"override"关键字
  2. "init(frame:("已被重写

为什么Xcode 13在新的自定义类中报告此错误,而不是在Xcode 12中创建的相同错误?

class OptionsPanel: UIView {

override init(frame : CGRect) {
super.init(frame : frame)
}

convenience init(frame: CGRect) {
self.init(frame: frame)
}

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

这就是问题所在。在另一个自定义视图中,我在便利初始化便利初始化中有其他参数(框架:CGRect,包:[Purchases.Package],测试:Bool(。我确实尝试了这个项目中的其他参数,认为这可能是问题所在,但pods Xcode索引一直存在各种问题,直到我创建了一个新项目,iPhone 13模拟器没有出现。。。。所以它在那场大火中迷路了!谢谢清扫工,邓肯C&Bhawin Ranpura。

社区要求我编辑。问题与给出的答案完全一样-方便的init不能与init相同。即

override init(frame : CGRect) {
super.init(frame : frame)
}
convenience init(frame: CGRect) {
self.init(frame: frame)
}

被编译器拒绝。

最新更新