0

そのため、tableViewController を使用してさまざまなゲーム タイプのリストを作成するアプリがあります。ゲームが選択されると、その名前でセグエが実行されます。

ゲームモードの1つが終了したときの統計メニューを追加するまで、これは完全に機能していました(正しく押してポップします)。

現在、統計メニューから 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];

問題のエラー

コードへのリンク

4

2 に答える 2

1

Appleが現在ARCを強制しようとしているように見えます。10.7 SDKのアップデートをダウンロードしたところ、プログラム(performSegueWithIdentifier :も含まれています)が非常にバグが多く、以前に解決した複数の問題(SDKアップデート前)でEXC_BAD_ACCESSがスローされました。ARCをオンにして、リリース/割り当て解除の呼び出しをすべてコメントアウトし、動作状態に戻しました。デバッガーがあなたに彼らがいる場所をどのように指し示しているかは素晴らしいと思います。:)

于 2012-07-10T21:32:29.563 に答える
1

コードを分析して、メモリ リークがないかどうかを確認してください。アプリケーションがクラッシュしている原因である可能性があります。

于 2012-06-07T07:14:12.957 に答える