发送到实例的无法识别的选择器 - UIButton操作

时间:2011-02-25 15:40:26

标签: objective-c ipad uiview uibutton

嘿所有,我有一个简单的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!");
}

我不能为我的生活弄清楚这里发生了什么...... 任何帮助或见解将不胜感激! 感谢

1 个答案:

答案 0 :(得分:0)

此代码看起来正确。很可能你有一个内存管理问题,并且创建了这个按钮并实现了buttonClick:方法的对象消失了,内存现在被一些没有实现buttonClicked的新对象占用。

开启僵尸检查;这应该可以帮助你追踪问题。