![](/img/trans.png)
[英]Thread 1: EXEC_BAD_ACCESS (code=1) when dismissing view controller with collection
[英]EXEC_BAD_ACCESS (code=1 address=0x90000008) when switching view controllers
所以,我有一個應用程序,它使用tableViewController來填充不同游戲類型的列表。 選擇游戲時,它會按該名稱執行segue。
這是完美的工作(正確推動和彈出),直到我添加了一個統計菜單,其中一個游戲模式完成。
現在,有時從stats菜單切換回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];
嘗試分析您的代碼,看看是否有任何內存泄漏。 這可能是您的應用程序崩潰的原因。
看起來蘋果現在正試圖強制執行ARC。 我剛剛下載了10.7 SDK的更新,它使我的程序(還包含performSegueWithIdentifier :)超級錯誤並在我之前解決的多個問題上拋出EXC_BAD_ACCESS(SDK更新前)。 我打開了ARC,並將我的所有釋放/ dealloc調用注釋掉,恢復了工作狀態。 很好,調試器如何指出你在哪里我想。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.