Я пытаюсь перебрать контроллеры, которыми управляет мой UITabBarController, и для вкладок, в которых есть UINavigationController, посмотрите, сколько viewControllers в данный момент находится в стеке навигации. К сожалению, хотя контроллеры утверждают, что они являются UINavigationControllers, а их свойство viewControllers выглядит как массив, оно не отвечает на «count», как я ожидал:
for ( UIViewController *controller in tabBarController.viewControllers ) {
if ( [controller isKindOfClass:[UINavigationController class]] ) {
UINavigationController *navigationController = (UINavigationController*)controller;
NSLog(@"Analyzing controller: %@", controller.title);
NSLog(@"Views in hierarchy: %@", [navigationController.viewControllers count]);
} else {
....
}
}
Я получаю сообщение об ошибке EXC_BAD_ACCESS в строке «Представления в иерархии:» при попытке отправить сообщение подсчета в navigationController.viewControllers.
Я здесь сбит с толку, и я бы хотел любую помощь, которую кто-либо может предложить. Заранее спасибо!