另一个"NSInvalidArgumentException:无法识别的选择器发送到实例"帖子

Jim*_*ery 1 cocoa-touch ios

我整个星期都在添加点击手势识别器,但是我去做这个,就像我做了所有其他人一样,我的应用程序崩溃了.我一定是在遗漏一些东西,但对于我的生活,我找不到它是什么.我已经通过了十几篇关于这个bug的SO文章,但没有任何帮助.

这段代码:

@interface wwfpViewController ()
@property (nonatomic, strong) UIView * firstScreen;
@end

@implementation wwfpViewController

@synthesize firstScreen;

- (void)viewDidLoad {
    [super viewDidLoad];
    firstScreen=[[UIView alloc] initWithFrame:self.view.frame];
    [firstScreen setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:firstScreen];

    UITapGestureRecognizer * tap=[[UITapGestureRecognizer alloc] initWithTarget:firstScreen action:@selector(onTap:)];
    [tap setNumberOfTapsRequired:1];
    [firstScreen addGestureRecognizer:tap];
}

- (void) onTap:(UIGestureRecognizer*) recogniser {
    NSLog(@"tap: %@",recogniser);
}

@end
Run Code Online (Sandbox Code Playgroud)

生成此错误:

2013-08-01 12:50:11.027 tyrionSwipe[27336:11303] -[UIView onTap:]: unrecognized selector sent to instance 0xe52c4a0
2013-08-01 12:50:11.029 tyrionSwipe[27336:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView onTap:]: unrecognized selector sent to instance 0xe52c4a0'
*** First throw call stack:
(0x1c91012 0x10cee7e 0x1d1c4bd 0x1c80bbc 0x1c8094e 0x2dd85a 0x2dc99b 0x2de0df 0x2e0d2d 0x2e0cac 0x2d8a28 0x45972 0x45e53 0x23d4a 0x15698 0x1becdf9 0x1becad0 0x1c06bf5 0x1c06962 0x1c37bb6 0x1c36f44 0x1c36e1b 0x1beb7e3 0x1beb668 0x12ffc 0x295d 0x2885 0x1)
libc++abi.dylib: terminate called throwing an exception
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

编辑:我写了一个错字!哎呀.即使没有拼写错误,我仍然会收到此错误.

pek*_*eko 6

它只是一个错字重命名你的方法中的onTap挖掘从或您选择水龙头:中的onTap:

看看目标,我很确定你的意思是自我,因为firstScreen只是一个UIView