2010-04-02 82 views
0

試圖修復一個非常奇怪的錯誤,我有3個視圖控制器,從應用程序委託開始,並相應地推送對方。第三視圖控制器,然後有一個工具欄按鈕,在這裏調用代碼:PoptorootViewController失敗,然後刪除所有ViewControllers

-(void)showEventBrowser; 
{ 
accelManeger.delegate = nil; 
NSLog(@"%u",[self.navigationController.viewControllers count]); 
[self.navigationController popToRootViewControllerAnimated:NO]; 
} 

這工作第一次全面,但是當我回到這個視圖控制器,然後再試一次。首先報告堆棧中有3個視圖控制器。然後它釋放堆棧中的第二個視圖控制器並且不會崩潰,但不會再進一步​​。如果我再次按下按鈕,它說棧上沒有視圖控制器,並且無法響應。

我有每個視圖控制器中的所有viewdid,viewwill,e.t.c的日誌,似乎沒有奇怪的行爲。也沒有來自任何視圖控制器的內存警告。

爲什麼這個工作一次,但不是第二次?

+0

只是麻煩這一次,如果任何人需要更多的代碼請問。我難倒了 – 2010-04-02 18:19:06

回答

1

那我解決了這個問題。

我想從viewcontroller poptorootviewcontroller沒有視圖,但不是剛剛顯示的UIImagepickercontroller。即使試圖首先解散這個模式控制器,(即使有延遲),我仍然有同樣的問題。我改爲將問題的viewcontroller更改爲UIMagepickercontroller子類,並在另一個視圖控制器中處理當前並解散。

經驗教訓,不要用UIImagepickercontroller模式視圖ontop彈出根目錄。