Я хотел бы предоставить инициализатор с отказом для подкласса NSObject для инициализации без параметров. Моя общая цель - вернуть нуль, этот класс инициализируется на версию ОС менее 8.0.
Моя попытка:
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(), чтобы обеспечить отказоустойчивую реализацию в подклассе? Или есть лучший способ достичь этой цели?