选择器调用成功后,无法识别的选择器立即发送错误

时间:2011-10-23 00:13:14

标签: iphone objective-c xcode4.2 selector

这个错误让我感到困惑,但这里有:

我试图设置一个IBAction来在UIButton上进行内部修饰。由于某种原因,它没有工作,并没有真正给我任何gdb错误。时不时会提到一个无法识别的选择器。我检查确保我的文件所有者是正确的类,所有内容都在检查中,所以我再次运行它仍然没有。

我认为它可能是Interface Builder的问题,所以我在按钮上使用了addTarget:,将目标设置为self,而选择器是我想要调用的方法的选择器,并且仍然有一个无法识别的选择器错误。为了测试选择器是否存在,我在我想要的方法的选择器上运行了[self performSelector:],并且它工作正常。所以基本上现在我有这个:

- (void)viewDidLoad {
    [super viewDidLoad];

    [self performSelector:@selector(hi)];

    [_backButton addTarget:self action:@selector(hi) forControlEvents:UIControlEventTouchUpInside];
}

- (void)hi {
    NSLog(@"HI");
}

执行选择器工作正常,并记录“HI”。这是踢球者,当我在_backButton上进行修改时,它给了我一个无法识别的选择器错误,即使我只是调用它并且它有效:

2011-10-22 19:54:40.824 VideoGif[396:707] -[NSKeyValueObservance hi]: unrecognized selector sent to instance 0x590690
2011-10-22 19:54:40.831 VideoGif[396:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSKeyValueObservance hi]: unrecognized selector sent to instance 0x590690'

我已经拍摄了笔尖和实现文件的屏幕截图,可以在这里查看:http://imgur.com/a/q2a6N

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:1)

问题可能正在发生,因为您的CaptionEditorViewController实例由于某种原因被释放,正如随机类抛出“无法识别的选择器”异常所指示的那样