故事板自定义类被忽略

时间:2017-08-24 19:14:28

标签: ios objective-c xcode-storyboard

Custom class input

我正在尝试将自定义视图控制器添加到我的故事板中。视图控制器KTResearchUploadViewController出现在“自定义类”类下拉列表中,我已选择它。在视图控制器内(在故事板上),我有一个链接到KTResearchUploadViewController的按钮,可以在主要操作上调用方法handleUploadButtonPress

按下按钮时,我收到此错误:

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

看起来它试图在handleUploadButtonPress而不是UIViewController上呼叫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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我不确定这是否是原始问题的原因,但是我刚刚遇到了类似的问题,然后就此结束了。最终,我发现我的ViewController子类不是我在Xcode中运行的目标的成员。出于某种原因,在这种情况下,它仅默认使用ViewController