2011-12-22 54 views
0

我使用選項卡視圖模板在Xcode 4.2中啓動了一個項目。在應用程序委託中,我通過代碼添加了第三個選項卡,就像第一個和第二個選項卡。然後我用一個nib文件創建了第三個視圖控制器類。
當我運行這個應用程序,我看到所有三個選項卡,但是當我點擊第三個選項卡時,它崩潰。 我注意到第一個和第二個筆尖文件底部有一個黑條(可能代表標籤欄)的視圖,但我創建的新的第三個筆尖文件缺乏它。任何想法如何使第三個標籤工作?如何在xcode 4.2中添加新選項卡

謝謝

這是我如何添加第三個視圖控制器。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
{ 
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
// Override point for customization after application launch. 
UIViewController *viewController1, *viewController2, *viewController3; 
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil]; 
    viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil]; 
    viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPhone" bundle:nil]; 
} else { 
    viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPad" bundle:nil]; 
    viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPad" bundle:nil]; 
} 
self.tabBarController = [[UITabBarController alloc] init]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil]; 
self.window.rootViewController = self.tabBarController; 
[self.window makeKeyAndVisible]; 
return YES; 
} 
+0

可能你需要照顧內存。並向我們​​展示一些代碼。另外還會打印崩潰消息。 – 2011-12-22 19:06:24

+0

輸出中沒有生成錯誤。輸出屏幕上的最後一個單詞是:當前語言:自動;目前的Objective-C(gdb) – saman01 2011-12-22 19:24:19

回答

0

在標籤欄控制器中,確保選項卡的視圖控制器的類與您創建的視圖控制器類相同。

也檢查日誌,它可能會有一個非常豐富的消息,爲你爲什麼它墜毀。

編輯

沒關係,你逝去在viewController3未初始化的視圖控制器。將所有這些初始值設置爲零。

+0

所有類都是相同的。並且日誌文件是空的。它只包含初始化消息。 – saman01 2011-12-22 19:31:40

+0

我其實看着你的代碼,看到我認爲真正的問題... – 2011-12-22 21:58:57