這是代碼:EXC_BAD_ACCESS瑣碎的代碼
UITabBarController *tbc = [[UITabBarController alloc]init];
tbc.viewControllers = [NSArray arrayWithObjects:ptlc,cvc,gvc,nil];
[self.navigationController pushViewController:tbc animated:YES];
[tbc release];
這是的tableView代碼的最後一部分:didSelectRowAtIndexPath方法:。當選擇行時,UITabarController顯示正常,但是當點擊UINavigationController上的「後退」按鈕時,程序在一秒鐘後崩潰而不在控制檯上打印任何描述。調試器只是指出「線程1:程序接收到的信號:」EXC_BAD_ACCESS「。」在這條線上:
int retVal = UIApplicationMain(argc, argv, nil, nil);
關於「main.m」。令人難以置信的是,刪除最後一行解決了這個問題。 ptlc cvc和gvc是我首先分配的控制器,並且我在此代碼示例的最後一行之後發佈。
當然可以在UINavigationController中使用UITabBarController。我已經看過很多次了。我所知道的是,它不能以其他方式完成(在tabbar內導航)。 – bluehallu
@Hallucynogenyc從['here']引用(http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/TabBarControllers/TabBarControllers.html#//apple_ref/doc/uid/TP40007457-CH102-SW2): 「雖然導航控制器可以嵌入到標籤內,但事實並非如此,在導航界面中顯示標籤欄界面可能會讓用戶感到困惑。」不推薦使用導航堆棧中的標籤欄。 –
Deepak是對的,正如我在上面解釋的那樣。但由於這是一個不好的訪問問題,一個很好的提示是打開NSZombie,看看問題發生在哪裏。 –