我想为NSObject子类提供可失败的初始化程序,以进行无参数的初始化。我的总体目标是,在低于8.0版本的操作系统上初始化此类时返回nil。
下面是我的尝试:
下面是我的尝试:
class MyObject: NSObject {
override init?() {
super.init()
if floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1 {
return nil
}
}
}
然而,这段代码导致以下编译器错误。
Failable initializer 'init()' cannot override a non-failable initializer
在子类中是否可以重写init()方法并提供可失败的实现?或者有更好的方法来实现这个目标吗?