UIButton EXC_BAD_ACCESS错误

时间:2011-04-19 07:25:12

标签: iphone xcode uibutton exc-bad-access

我有一个UI按钮,按下时它可以正常工作。 但是如果我按下按钮三次,我会收到一个EXc_BAD_ACCESS错误。 我以为我在某个地方发布了一些东西,但我找不到解决方案。 请你帮助我好吗? 亲切的问候。

这是按下按钮时的功能。在dealloc我发布它们。当我跟踪时,它不会在功能上给出错误。我在功能之后得到了它,但是我不知道代码在这个功能之后的位置。

- (IBAction) doSomething: (id)sender
{
    [self.answerDict replaceObjectAtIndex:currentPageNumber withObject:@"1"];
    [self.b setImage:nil forState:UIControlStateNormal];
    [self.c setImage:nil forState:UIControlStateNormal];
    [self.d setImage:nil forState:UIControlStateNormal];
    [self.e setImage:nil forState:UIControlStateNormal];        

    UIImage *img = [UIImage imageNamed:@"a.jpg"];
    [self.a setImage:img forState:UIControlStateNormal];
    [img release];
}

2 个答案:

答案 0 :(得分:3)

UIImage *img = [UIImage imageNamed:@"a.jpg"];
[self.a setImage:img forState:UIControlStateNormal];
[img release];

[img release];是问题所在。您正在发布一个您不拥有的对象。在这种情况下img是自动释放的。

删除[img release];并查看是否发生崩溃

答案 1 :(得分:0)

我建议你逐行评论代码,这样你就会明白BAD_ACCESS错误的目的是什么。在第一次关闭doSomething中的整个代码:可能是你按钮中的主要原因......