0

我有一個帶兩個選項卡的導航欄控制器應用程序。我的其中一個標籤使用導航控制器。
導航控制器,我爲這使得駐留在瀏覽A.視圖A只作爲一個控制器和自動將視圖B這又推動其推動查看D.iphone - 導航欄應用程序崩潰

我想下一個視圖是視圖視圖C B,所以我用

NSArray *viewControllers = [[self navigationController] viewControllers]; 
int i=0; 
while (! [[[viewControllers objectAtIndex:i] nibName] 
     isEqualToString:@"ViewBController"] 
     && i < [viewControllers count]) 
      i++; 

得到我想要的視圖(在某些情況下,意見的順序可能會改變,所以我不想硬編碼) 然後

self.navigationController popToViewController:[viewControllers objectAtIndex:i] animated:NO]; 

到回到競爭w B

我的問題是,應用程序崩潰在這一點上。從技術上講,它崩潰後,視圖C(我把nslogs那裏解決)。

我不知道我的問題是什麼?誰能提供見解?

編輯:我也試着做一個新的視圖控制器,查看E,並推動這一點,它仍然崩潰

+3

你應該張貼的崩潰日誌。這可能是絕對的...... – 2011-02-12 00:30:35

+0

這是我的問題,沒有崩潰日誌,它只是停止運行 – mea36 2011-02-12 18:29:01

回答

1

我終於想通了我的問題,結果不是導航問題。

切換視圖之前,我有一個提醒,我設置autorelease,然後我也發佈了它。
我想通過使用NSZombie,這是真棒。

的人誰需要參考檢查了這一點: http://cocoadev.com/index.pl?NSZombieEnabled

0

首先,澄清...當你說你的導航控制器駐留「中觀」是什麼你的意思是?你的意思是它是包含在第一個選項卡上的視圖控制器?

到目前爲止,看起來您可能對如何使用導航控制器存在根本的誤解。他們不應該被加載,所以你可以翻到你想要的任何一個。導航控制器中的每個視圖控制器都應該是用戶選擇導航到的新屏幕。這聽起來像是你試圖用一堆視圖控制器填充導航控制器,然後在中間推動或彈出其中的一個,但這並不是真正的工作原理。

這是一個視頻,解釋如何使用UINavigationController,也許它會有所幫助。 http://vimeo.com/2371881