2012-06-07 47 views
0

所以,我有一個使用tableViewController填充不同的遊戲類型的列表的應用程序。當選擇一個遊戲時,它會按該名稱執行一個遊戲。EXEC_BAD_ACCESS(代碼= 1個地址= 0x90000008)切換視圖控制器時

這是完美的工作(推&正確膨化),直到我說了,當遊戲模式之一完成了統計菜單。

現在我從統計菜單回tableViewController切換時,有時會得到一個錯誤EXEC_BAD_ACCESS。所以:

TVC --->遊戲--->統計

然後

統計---> TVC

代碼從TVC切換到遊戲:

NSString* a = (NSString*)[games objectAtIndex:indexPath.row]; 
a = [a stringByReplacingOccurrencesOfString:@" " withString:@""]; 
[tableView deselectRowAtIndexPath:indexPath animated:YES]; 
[self performSegueWithIdentifier:a sender:self]; 

從遊戲切換到統計菜單的代碼:

[self performSegueWithIdentifier:@"Stats" sender:self]; 

代碼以切換從統計菜單TVC(哪裏有問題出現):

NSArray* controllers = self.navigationController.viewControllers; 
int a = [controllers count] - 1; 
[self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:a-2] animated:YES]; 

Error in question

Link to Code

+1

exec_bad_access告訴我們幾乎沒有什麼,除了一個無效的對象試圖訪問。你在使用ARC嗎?你也有異常斷點啓用? – borrrden

+0

ARC關閉,什麼是異常斷點? – dudeofea

+1

它實際上'EXC_BAD_ACCESS'(這是馬赫除外) –

回答

1

試着分析你的代碼,看看是否有任何內存泄漏。這可能是您的應用程序崩潰的原因。

+0

切換到ARC以避免分配/釋放問題 – dudeofea

1

看起來好像蘋果現在正試圖強制實施ARC。我剛剛下載了10.7 SDK的更新,它使我的程序(其中還包含performSegueWithIdentifier :)超級越野車,並在我之前解決的多個問題(預SDK更新)上拋出EXC_BAD_ACCESS。我打開了ARC,並將我的所有release/dealloc調用註釋掉,重新回到工作狀態。不錯,調試器指出你在哪裏,他們是我想的。 :)

相關問題