В настоящее время я сталкиваюсь с ошибкой, связанной с инициализаторами класса и его подкласса. Я на Swift 5, используя Xcode 10.2.1. Приложение компилируется просто отлично. Мне удалось выделить проблему на детской площадке. Итак, следующий код дает сбой при создании экземпляра B
.
class A {
private let i: Int
private init(i: Int) {
self.i = i
}
}
extension A {
convenience init() {
self.init(i: 0)
}
}
class B: A { }
B()
И это ошибка, которую я получаю:
MyPlayground.playground: 15: 7: Fatal error: Use of unimplemented initializer 'init(i:)' for class '__lldb_expr_1.B'
Мы недавно обновили наше приложение до Swift 5, и я не думаю, что оно зависало на Swift 4.2, так что, может быть, это новая проблема в Swift 5? Кто-нибудь знает, что вызывает это? Почему компилятор не обнаруживает это?