Я недавно запустил новый проект с новейшим 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()
}