我有一个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];
}
答案 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中的整个代码:可能是你按钮中的主要原因......