дочерний контроллер UINavigationController, хранящийся в NSArray, падает на ipad - PullRequest
1 голос
/ 23 января 2012

У меня есть код для извлечения перикулярного дочернего контроллера управления навигационным контроллером.

NSArray *contllrs = [self.navigationController childViewControllers];
NSLog(@"controllers : %@",contllrs);
 if([contllrs count]>3)
           [self.navigationController popToViewController:[contllrs objectAtIndex:0] animated:YES];

Это дает журнал как

childviewcontrollers : NSHashTable (%@) {
[3] <abcVC: 0x1dc1d0>
[4] <defVC: 0x5daf790>
[7] <efgVC: 0x1724a0>
[10] <adsfVC: 0x1b14f0>
[11] <SdfVC: 0x1e2c30>
}

Сбои с

InvalidArgument

Это работаетхорошо с симулятором iPad, но вылетает на iPad

1 Ответ

1 голос
/ 23 января 2012

Попробуйте использовать следующий код:

    NSArray * viewController = self.navigationController.viewControllers;
    if([viewController count] > 3)
    {
        UIViewController * vc = [viewController objectAtIndex:0];
        [self.navigationController popToViewController:vc animated:YES];
    }
...