2012-07-28 59 views
0

我是Objective-C和iOS中的新手。我跟着UINavigationControlleriOS 5.1中的UINavigationController

在視頻的第一個2:30分鐘,他使用AppDelegate接口和實現,並提供了一些代碼,我沒有在我的應用程序中。

在他的界面:

@Class ViewController; 
... 
@property(strong, nonatomic) ViewController *viewController; 

,我沒有。

而在AppDelegate中實施之前,他開始定義navigationViewController,他在didFinishLaunchingWithOption喜歡代碼的某些行:

self.windows = [[UIWindows alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
self.windows.rootViewController = self.viewController; 
[self.windows makeKeyAndVisible] 
return YES; 

我上self.viewController警告。

,但我只是有:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    return YES; 
} 

爲了尼克斯的NavigationViewController,他補充說這一行:

UINavigationController *navigationViewController = [[UINavigationController alloc] initWithRootViewController:self.viewController 
self.windows.rootViewController = navigationViewController; 

當我加入這個代碼,我遇到一個錯誤(在月底self.viewController警告) 。 當我運行該項目時,它只顯示頂部的導航,但之前創建的TableView消失了。 你能幫我解決這個問題嗎?我的模擬器是5.1版本。

回答

1

我假設,因爲這是他的YouTube系列的第12部分,他正在構建以前的代碼。

無論如何,有很多方法可以將rootViewController添加到窗口。 (編程,通過故事板等)

最簡單的方式來獲得一個項目的設置,其中將匹配他的教程是:

在Xcode中創建一個新的「單一視圖」的項目,並不使故事板。

這將創建一個包含AppDelegate,ViewController類和ViewController xib的項目。

(如果您選擇通用的應用程序,你將有2個XIB文件)

開拓AppDelegate的這個新創建的項目,它應該很接近他的截屏...

祝你好運!

(注意,這與XCode的4.3.3驗證)

+0

謝謝,但正如我在介紹的標題欄和結尾說的XCode 5.1。 AppDelegate不包含這些代碼。 – Ali 2012-07-28 21:26:07

+1

5.1是iOS SDK。這些說明應該適用於所有最新版本的XCode(或非常接近)。如上所述,創建新項目時將生成代碼。 – spacious 2012-07-28 21:59:55

+0

我在XCode中創建了一個新項目。在AppDelegate中生成的代碼與我所說的完全一樣。但你對iOS版和XCode是正確的。我也在XCode 4.3.3中。 – Ali 2012-07-28 22:30:55