я получаю ошибку
Использование не реализованного инициализатора 'init (style :)' для класса
Тема 1: EXC_BAD_INSTRUCTION (код = EXC_I386_INVOP, субкод = 0x0)
Я не получал эту ошибку на каждом предыдущем Xcode, с которым работал. Я не должен получить эту ошибку, потому что я использую свой собственный назначенный инициализатор. Ошибка может быть воспроизведена с помощью этого репозитория git: https://github.com/Jasperav/EasyCrash. Соответствующий код:
import UIKit
class ViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { (_) in
let someInitializable: UIViewControllerInitializable.Type = SomeViewController.self
self.present(someInitializable.init(), animated: true, completion: nil)
}
}
}
protocol Initializable {
init()
}
protocol UIViewControllerInitializable: Initializable, UIViewController {}
class BaseTableViewController: UITableViewController {
let a: Int
init(a: Int) {
self.a = a
super.init(style: .plain)
}
required init?(coder: NSCoder) {
fatalError()
}
}
final class SomeViewController: BaseTableViewController, UIViewControllerInitializable {
init() {
print("init")
super.init(a: 10)
}
required init?(coder: NSCoder) {
fatalError()
}
}
Что изменилось в Xcode 11 beta 2? Это ошибка или я должен изменить свой код?