2013-07-24 3 views
0

По какой-то причине этот код возвращает 0 элементов:Почему контроллер режима просмотра возвращает нулевые контроллеры просмотра?

NSArray *viewControllers = [[self navigationController] viewControllers]; 
NSLog(@"numero: %d", viewControllers.count); 

Я достижения моей текущей ViewController (B), из ViewController (A), позвонив по телефону:

[self performSegueWithIdentifier:@"NumericKeyboard" sender:self]; 

Что я здесь отсутствует ?

Спасибо!

+3

'self.navigationController', вероятно,' nil'. Вы уверены, что находитесь в контроллере навигации? – Levi

+0

Какой тип segue? –

+1

Is '[self navigationController]' nil? –

ответ

1

Если segue для просмотра контроллера B не является нажатием, просмотр контроллера B не будет находиться в стеке контроллеров вида, принадлежащих навигационному контроллеру.

Поэтому [self navigationController] будет nil при вызове против контроллера представления В.

Если вам нужен вид контроллера B, чтобы быть в стеке автоматически, вы должны изменить SEGUE к нажимной Segue.

В качестве альтернативы вы можете вручную добавить контроллер в стек.

Смежные вопросы