2011-06-30 34 views
1

我做的CS193P斯坦福大學課程的教程,也有一些蘋果iOS開發教程,並有與他們是如何推動的ViewController在屏幕差異視圖控制器推

蘋果區別呢這樣的:

UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 

    self.navigationController = aNavigationController; 

斯坦福建議這樣做:

navigationController = [[UINavigationController alloc] init]; 
[self.navigationController pushViewController:rootViewController animated:NO]; 

他們如何不同? PS:順便說一句,蘋果的方法工作和斯坦福一個不顯示任何東西,我不知道爲什麼。

+1

對於第二種方法,您仍然必須創建一個'UINavigationController'實例。這在默認情況下不存在。 – PengOne

+0

@PengOne是的,我剛剛意識到這一點,並糾正它,謝謝。 – 8vius

回答

0

我認爲使用pushViewController:動畫方法,您將在控制器堆棧頂部添加控制器(push a new view controller on the stack)。

在第二種方法中,您沒有初始化navigationController。

+1

我剛剛看到它爲什麼不起作用,我忘記了在方法開始時分配和初始化navigationController,所以我正在推送一個不存在的對象。他們是做同樣的事情的兩種方式,我會更新代碼供將來參考 – 8vius