У меня есть раскадровка, включающая сцену TabBarController. Я пытаюсь создать экземпляр программы программно, а затем установить его как rootViewController.
Я установил точку останова после установки переменной раскадровки и могу подтвердить, что она ее находит. Проблема происходит при загрузке сцены для TabBarController.
Я попытался создать пользовательский подкласс TabBarController и установить его в качестве имени класса в инспекторе идентичности, и я получил то же самое.
Я также пытался создавать экземпляры UIViewControllers в той же раскадровке, и они открываются нормально. Это просто происходит с TabBarController. Может быть, это ограничение и не может быть сделано.
@IBAction func loginButtonTapped(_ sender: UIButton) {
let storyboard = UIStoryboard(name: StoryboardConstants.Composition, bundle: nil)
if let vc = storyboard.instantiateViewController(withIdentifier: "Tabbar") as? UITabBarController {
UIApplication.shared.keyWindow?.rootViewController = vc
}
}
Это ошибка, которую я получаю:
* Завершение приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Не удалось загрузить контроллер представления сцены для идентификатора« Tabbar »'
* Первый стек вызовов вызовов: