2011-09-21 61 views
0

[對不起我弱英語]問題navigationController

我有一些方法來創建並展示了一些新的觀點CONTROLER(我 當前視圖CONTROLER級別的頂部)

- (void) switchToDifficultyMenu 
{ 
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

DifficultyMenuController *difficultyMenuController = [[DifficultyMenuController alloc] init]; 

    NSLog(@"navigation controller %@" , self.navigationController); //navContr is nil 

[self.navigationController pushViewController: difficultyMenuController animated: NO]; 

[difficultyMenuController release]; 
[pool release]; 


} 

它工作時我火了,例如從水龍頭下活動我目前 視圖控制器上,但是當我的當前視圖CONTROLER 負載(這是一些需要一種)在其-viewDidLoad的navigationController ID EST是 爲零當我嘗試立即調用它

我怎樣才能使它發揮作用,多TNX

回答

2

直到你不把你的UIViewControllerUINavigationController,該navigationController屬性將爲空。在推送之前總是調用viewDidLoad方法。因此在viewDidLoad中,無法訪問此屬性。

+0

很多tnx,如果是這樣的話,那麼我可以儘快在我以前的viewcontroler創建開始時啓動我的方法的地方(我想在堆棧中查看第一個viewcontroler之後,堆棧中的第三個viewcontroler (在堆棧中的第二個之前),第二個在第三個之後彈出:/我知道我可能應該重建'架構',但第一個可以更快更容易 – fir

+1

在這種情況下,您應該嘗試使用'viewWillAppear:'method。'viewDidAppear:'方法仍然可以工作,但我認爲它沒有你想要的效果,我認爲你有5分鐘的時間來嘗試它們並且看到,它們對應您的需求。 –