2011-07-26 86 views
0

我一直在拉我的頭髮,試圖讓一個基本的NavigationController工作,這將允許我輕鬆地在視圖之間來回切換。我覺得自己正在取得進步,但我顯然缺少重要的東西。我現在有我的模板應用程序推送視圖,但只能通過添加指向目標NIB的initWithNibName。試圖向這些輔助視圖添加任何功能會導致應用程序崩潰並出現SIGABRT錯誤。我無法想象這是正確的。如果我只是簡單的NIB,交換機工作正常。我添加到第二個控制器的唯一的東西是一個標籤和一個按鈕,用一些垃圾文本填充標籤。然而,我點擊開關按鈕來切換按下這個視圖,我得到了SIGABRT。我希望能夠將功能放入不同的視圖控制器中。我感覺自己如此親密,但卻令人加深。任何人都可以指出我出錯的地方嗎?與導航控制器苦苦掙扎基本信息

#import "mainViewController.h" 


@implementation mainViewController 

-(void)switchView { 
    UIViewController *secondViewController = [[UIViewController alloc] initWithNibName:@"secondViewController" bundle:nil]; 
    secondViewController.title = @"My First View"; 
    [self.navigationController pushViewController:secondViewController animated:YES]; 
    [secondViewController release]; 
} 

-(void)switchViewTwo { 
    UIViewController *thirdViewController = [[UIViewController alloc] initWithNibName:@"thirdViewController" bundle:nil]; 
    thirdViewController.title = @"My second View"; 
    thirdViewController.view.backgroundColor = [UIColor redColor]; 
    [self.navigationController pushViewController:thirdViewController animated:YES]; 
    [thirdViewController release]; 
} 
+0

我會做的第一件事就是去通過實施文件,並利用類名,類名和實例變量兩者都較低的情況下,這樣編譯器不能看出其中的差別。例如將secondViewController * secondViewController更改爲SecondViewController * secondViewController。 – MCannon

+1

請發佈整個崩潰日誌。我懷疑問題是與按鈕本身,而不是你的視圖控制器中的方法。 –

+0

我第二次發佈崩潰日誌 –

回答

0

而不是

UIViewController *secondViewController = [[UIViewController alloc] initWithNibName:@"secondViewController" bundle:nil]; 

將這個:

MySecondViewController *secondViewController = [[MySecondViewController alloc] initWithNibName:@"secondViewController" bundle:nil]; 

MySecondViewController應該是你UIViewController的名稱,還檢查了廈門國際銀行的名字真的叫secondViewController。最後:

  • 轉到您的XIB
  • 選擇文件的所有者文件。
  • 選擇檢查器中的第3個選項卡。
  • 檢查班級的名稱。它應該是MySecondViewController而不是UIViewController
相關問題