2012-01-23 67 views
1

我有代碼來獲取導航控制器的perticular childviewcontroller。存儲在NSArray中的UINavigationController的childviewcontroller在ipad上崩潰

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

不確定它是否是拼寫錯誤,但是您在IF語句中缺少右括號。就我所知,它甚至不應該編譯。 –

+0

這只是IF中的一條線,所以我沒有加上括號 – Heena

+0

是的,它只是錯字。 – Heena

回答

1

嘗試使用下面的代碼:

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