Ошибка подтверждения при попытке выскочить представления из стека навигации - PullRequest
1 голос
/ 12 января 2012

Я пытаюсь получить доступ к определенному контроллеру представления, который находится в стеке навигации, но я делаю что-то неправильно, так как я получаю эту ошибку, когда я пытаюсь выполнить код

Assertion failure in -[UINavigationController popToViewController:transition:], /SourceCache/UIKit_Sim/UIKit-1912.3/UINavigationController.m:2229

Вот код, вызывающий проблему

FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController.xib" bundle:nil];

    [self.navigationController popToViewController:firstViewController animated:YES];

Ответы [ 2 ]

4 голосов
/ 12 января 2012

Удалось найти еще пример, где работает отлично.

// Просто выберите номер objectAtIndex, чтобы перейти к конкретной точке в стеке навигации

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

Надеюсь, это поможет.

2 голосов
/ 12 января 2012

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

В вашем фрагменте кода вы пытаетесь вставить стек контроллера навигации во вновь созданный объект. Этот контроллер не находится в стеке, потому что вы только что создали его. Поскольку навигационный контроллер не может найти контроллер, который вы ищете, он выдает ошибку.

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