self.navigationController? .pushViewController не работает с Xcode 11.1 - PullRequest
0 голосов
/ 17 октября 2019

Я недавно запустил новый проект с новейшим XCode, и теперь функция self.navigationController?.pushViewController для добавления нового контроллера не работает.

Я посмотрел похожие ответы и проверил свои собственные старые проекты, где онработает, они упомянули, что навигационный контроллер был nil, но я думал, что обратился к этому.

Я думаю, что это связано с новым SceneDelegate файлом, который является частью управления представлениями.

Вот код относительно первого VC, который появляется вприложение в файле SceneDelegate.

 let nav1 = UINavigationController()
        let mainView = MainViewController(nibName: nil, bundle: nil) //ViewController = Name of your controller
        nav1.viewControllers = [mainView]
        // Use a UIHostingController as window root view controller.
        if let windowScene = scene as? UIWindowScene {
            let window = UIWindow(windowScene: windowScene)
//            window.rootViewController = UIHostingController(rootView: contentView)
            window.rootViewController = nav1
            self.window = window
            window.makeKeyAndVisible()
        }

Ответы [ 2 ]

1 голос
/ 12 ноября 2019

Удалите файл SceneDelegate.swift и методы его делегатов.

0 голосов
/ 17 октября 2019

У меня была такая же проблема с Xcode 11.1 с новым проектом.

Удалите SceneDelegate.swift файл, а также удалите его методы делегата из AppDelegate.swift . Это решение сработало для меня.

Мой открытый исходный код, созданный с помощью Xcode 11 и Swift 5. https://github.com/gauravparvadiya/swift-news-reddit

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