2017-08-24 186 views
0

Custom class input故事板自定義類被忽略

我試圖自定義視圖控制器添加到我的故事板。視圖控制器KTResearchUploadViewController出現在「自定義類」類下拉列表中,並且我選擇了它。在視圖控制器(在故事板上)中,我有一個鏈接到KTResearchUploadViewController的按鈕,在主要操作上調用方法handleUploadButtonPress

當按下按鈕時,我收到此錯誤:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController handleUploadButtonPress:]: unrecognized selector sent to instance 0x11c33b740' 

它看起來像它試圖調用handleUploadButtonPressUIViewController而非KTResearchUploadViewController。我在這裏做錯了什麼?

KTResearchUploadViewController.h

#import <UIKit/UIKit.h> 

@interface KTResearchUploadViewController : UIViewController 

@end 

KTResearchUploadViewController.m

#import "KTResearchUploadViewController.h" 

@interface KTResearchUploadViewController() 

@end 

@implementation KTResearchUploadViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 
- (IBAction)handleUploadButtonPress:(id)sender { 
    NSLog(@"Button pressed!"); 
} 

@end 
+1

https://stackoverflow.com/questions/17852287/should-i-put-ibactions-in-the-header-file-or-not 嘗試添加IBAction爲你的.h – solenoid

回答

1

的IBAction爲添加到您的.h

#import <UIKit/UIKit.h> 

@interface KTResearchUploadViewController : UIViewController 
- (IBAction)handleUploadButtonPress:(id)sender; 
@end 

另外,還要確保有一個從您的IB按鈕,你的代碼

連接

https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/ConnectTheUIToCode.html

+0

我試着這兩個,現在我收到這個錯誤:''[ setValue:forUndefinedKey:]:這個類是不符合密鑰的關鍵字值uploadButton。' – SimpleJ

+0

其中是密鑰uploadButton從? – solenoid

+0

'uploadButton'是我給出的故事板中的按鈕和'KTResearchUploadViewController'之間的連接的名稱 – SimpleJ