Я не могу выполнить переход между viewControllers
, потому что navigationController
равен nil
. Я зарегистрировал navigationController
в разных частях class
, но везде он возвращает ноль. В storyboard
viewController
встроен в navigationController
. Я проверил другие темы на SO
с той же проблемой, но ни один из ответов не помог или даже не имел смысла для меня.
Невозможно pu sh, поскольку self.navigationController равен nil
navigationController равен нулю, когда pu sh viewcontroller
Почему это ноль? И как мне это решить? Также возвращается сообщение об ошибке:
Я пробовал использовать segue
:
[self.navigationController performSegueWithIdentifier:@"experienceDetails" sender:self];
и нажать:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Inspiration" bundle:nil];
ExperienceViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"experience"];
[self.navigationController pushViewController:viewController animated:NO];
Ничего не происходит с помощью push
, но выдается сообщение об ошибке:
Попытка загрузить представление контроллера представления во время его освобождения недопустима и может привести к неопределенному поведению
I Я тоже искал решения этой ошибки, но, похоже, нет четкого и конкретного ответа на вопрос, как ее решить. Опять же, те предложения, которые я прочитал и попробовал, не сработали.
Я действительно в растерянности. Такая простая вещь, но мне мешает что-то, чего я даже не понимаю.
РЕДАКТИРОВАТЬ Если это поможет, у меня есть tab bar
и в одном item
у меня есть viewController
, который встроен в navigationController
, и оттуда я хочу push
к другому viewController
в том же storyboard
.
РЕДАКТИРОВАТЬ Я получил это на работу:
[self showViewController:viewController sender:self];
очень вероятно, потому что он не использует navigationController
. Он представлен как modular
, хотя и не является частью стека навигации, чего я не хочу. Просто приятно знать, что все будет работать, если navigationController
не равен нулю.