2011-04-19 58 views
0

我有一個用戶界面按鈕,當它按下時它工作正常。 但是,如果我按下按鈕三次,我得到一個EXc_BAD_ACCESS錯誤。 我以爲我在某處發佈了一些東西,但找不到解決方案。 你能幫我嗎? 親切的問候。UIButton 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]; 
} 
+1

你能啓用NSZombieEnabled爲可執行,看看控制檯則表明發生崩潰? – 2011-04-19 07:27:09

回答

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

[img release];的問題。你正在釋放一個你不擁有的物體。這種情況下的img是自動發佈的。

刪除[img release];,看看是否

+1

是的,沒有錯誤。非常感謝你。 – Can 2011-04-19 07:47:56

0

我建議你逐行評論代碼,這樣你就會明白BAD_ACCESS錯誤的目的是什麼。在DoSomething的冷杉接近全碼:可能是主要的原因是在你的按鈕...