2017-08-24 134 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