Пользовательский контроллер навигации работает в iOS 13, но не в iOS 12 - PullRequest
0 голосов
/ 01 ноября 2019

Я создал пользовательский 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...