Я создал пользовательский UINavigationController
следующим образом -
class NavigationViewController: UINavigationController {
override init(rootViewController: UIViewController) {
super.init(rootViewController: rootViewController)
setup()
}
required init?(coder aDecoder: NSCoder) {
return nil
}
func setup() {
}
}
Я использую приведенный выше контроллер навигации следующим образом -
let viewController = NavigationViewController(rootViewController: UIViewController())
present(viewController, animated: true)
Приведенный выше код работает, как и ожидалось в iOS13, но терпит неудачу со следующей ошибкой в iOS 12
Неустранимая ошибка: использование неосуществленного инициализатора 'init (nibName: bundle :)' для класса 'appName.NavigationViewController
Добавлениеследующий инициализатор устраняет проблему
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
Кто-нибудь может указать, почему этот выше инициализатор не требуется в iOS 13, но необходим в iOS 12?