2013-11-14 46 views
1

即使在此項目之前,我仍然需要支持其他人的代碼,但我從未使用過Objective C或iOS應用程序,所以請原諒我如果我正在做真正明顯或愚蠢的東西。手動觸發seque後出現NSInvalidArgumentException

我需要一個具有自定義類的新視圖控制器。首先,我在故事板上繪製了視圖。然後我創建了一個我從UIViewController派生出來的新類。然後,我將視圖的自定義類設置爲我創建的這個新類。我將視圖上的單個按鈕連接到代碼,以便我可以關閉視圖,然後我創建了一個(手動/模式)循環,以便從主菜單中調用此新視圖。所有這一切都應該被鉤住了罰款,因爲我曾經使用過它,但我會告訴你我是如何調用SEGUE反正:

[self performSegueWithIdentifier:@"ScoreCard" sender:self]; 

現在,我的問題是,當我按下按鈕,運行以上,我得到以下錯誤:

-[Scores _setViewDelegate:]: unrecognized selector sent to instance 0x9b4c460

成績是我的自定義UIViewController類的名稱。它的.h文件中看起來很簡單,現在:

#import <UIKit/UIKit.h> 

@interface Scores : UIViewController 

- (IBAction)goBack:(id)sender; 

@end 

.m文件沒有做任何事情,除了Xcode的東西放進去默認情況下,我的實GoBack的的:

- (IBAction)goBack:(id)sender 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

有誰知道我忘了什麼?我以同樣的方式成功地添加了另一個視圖控制器,並且工作得很好。爲什麼不是這個?

+0

發佈了prepareForSegue方法的內容(在執行segue的視圖控制器中) – SPA

+0

您在故事板中創建了哪種類型的segue(push,modal)?目前還不清楚爲什麼你會在goBack方法中解僱和彈出視圖控制器。 – rdelmar

+0

@SPA:我的'prepareForSegue'方法不包含與這個特定的segue相關的任何內容,因爲我只希望它被執行,不需要做任何準備。 @rdelmar:這是一個模態賽格。我用這種方式複製/貼上了我的前任在某處所做的事情。我接受它我必須刪除流行音樂?雖然我不認爲這與我現在的問題有關。 –

回答

2

您正在獲取的錯誤 - [Scores _setViewDelegate:]:無法識別的選擇器...,似乎是由將UIView的類設置爲不是UIView的子類的類造成的。確保您已將視圖控制器的類(而不是視圖)設置爲您的自定義類。