嘿所有,我有一个简单的UIView,里面有一个UIButton,调用一个方法,我试图尽可能地简化它但是我经常遇到同样的错误:
2011-02-25 10:33:23.423 USOpenTimeLine [21288:207] - [CALayer buttonClicked:]:无法识别的选择器发送到实例0x4d2a020 2011-02-25 10:33:23.425 USOpenTimeLine [21288:207] *由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [CALayer buttonClicked:]:无法识别的选择器发送到实例0x4d2a020' * 首先调用堆栈:
我的代码如下:
-(UIView *)createView:(NSArray *)_data{
UIView *_view = [[UIView alloc ] initWithFrame:CGRectMake(0, 0, 1024, 768)];
pageData = [[NSMutableArray alloc] init];
self.imageData = _data;
[_view setBackgroundColor:[UIColor colorWithRed:1.0 green:1.0 blue:0 alpha:1.0]];
[self addSubview:_view];
UIButton *_button1= [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
_button1.frame = CGRectMake(110.0, 360.0, 100.0, 30.0);
[_button1 setTitle:@"Play" forState:UIControlStateNormal];
_button1.backgroundColor = [UIColor clearColor];
[_button1 addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[_view addSubview:_button1];
[_button1 release];
[_view release];
return _view;
}
- (IBAction)buttonClicked:(id)sender
{
NSLog(@"Hi!");
}
我不能为我的生活弄清楚这里发生了什么...... 任何帮助或见解将不胜感激! 感谢
答案 0 :(得分:0)
此代码看起来正确。很可能你有一个内存管理问题,并且创建了这个按钮并实现了buttonClick:方法的对象消失了,内存现在被一些没有实现buttonClicked的新对象占用。
开启僵尸检查;这应该可以帮助你追踪问题。