За пределами AppDelegate
я хочу изменить rootViewController
этого.Другими словами, я хочу поместить новый навигационный контроллер поверх того, что у меня было раньше в моем окне, а затем вставить новый контроллер в этот навигационный контроллер:
func JumpToPage(_ controller: UIViewController) {
guard let rootController = AppDelegate.shared?.presentationViewController else {
return
}
let navigationController = UINavigationController(rootViewController: rootController)
navigationController.pushViewController(controller, animated: true)
AppDelegate.shared?.window?.rootViewController = navigationController
}
}
Но эта функция вызывает сбой приложениясо следующим сообщением об ошибке:
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency',
reason: 'adding a root view controller <MyExampleController> as a child of view controller:<UINavigationController>'
Как мне решить эту проблему?