2012-08-30 38 views
0

我已經通過點擊按鈕實現了簡單的繼續。下面是這個視圖控制器代碼:從解除結果執行segue導致「無法識別的選擇器」錯誤

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    { 
{ 
    if (self.categoryInt == 1) 
     [segue.destinationViewController setCategoryKey:SD_ADDITION]; 
    else if (self.categoryInt == 2) 
     [segue.destinationViewController setCategoryKey:SD_SUBTRACTION]; 

}} 

- (IBAction)category1Selected:(id)sender { 
self.categoryInt = 1; 
[self performSegueWithIdentifier:@"ShowWorksheet" sender:self];} 

從日誌消息,我可以看到,它通過viewDidLoad中跑完全destinationviewcontroller但隨後出現了錯誤 有:終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因:' - [MainMenuViewController categorySelected:]:無法識別的選擇發送到實例0x75360e0'

我還沒有在這些按鈕上實現任何特定的選擇器。在我的MainMenuViewController中也沒有「categorySelected」方法。被調用的方法是「category1Selected」。什麼導致了這個錯誤?

+0

確保您的IBAction在Interface Builder中正確連接。 – Adam

回答

0

我想你自己回答了這個問題。你應該發送「categorySelected」,當你應該發送category1Selected。

檢查您是否之前將按鈕連接到了界面構建器中選擇的類別。如果您之前已經完成了這項工作,但之後將代碼中的categorySelected的名稱更改爲category1Selected,則界面構建器可能不會更新。

+0

謝謝。這是問題。刪除了以前的連接。 – user1620383

0

這通常是一個連接錯誤,去你的連接督察,並確保所有在那裏是正確的。

如果您不確定斷開所有連接並重新使連接重新檢查一切。

另外請確保您沒有連接動作按鈕作爲動作命令的插座。

相關問題