Iphone 切换视图控制器时执行错误访问(代码=1地址=0x9000008)

Iphone 切换视图控制器时执行错误访问(代码=1地址=0x9000008),iphone,ios,exc-bad-access,Iphone,Ios,Exc Bad Access,因此,我有一个应用程序,它使用tableViewController来填充不同游戏类型的列表。当选择一个游戏时,它将按该名称执行一个序列 这是完美的工作(推和弹出正确),直到我添加了一个统计菜单时,游戏模式之一完成 现在,当我从stats菜单切换回tableViewController时,有时会出现EXEC_BAD_访问错误。因此: TVC->游戏---->统计数据 然后 统计数据--->TVC 从TVC切换到游戏的代码: NSString* a = (NSString*)[games obje

因此,我有一个应用程序,它使用tableViewController来填充不同游戏类型的列表。当选择一个游戏时,它将按该名称执行一个序列

这是完美的工作(推和弹出正确),直到我添加了一个统计菜单时,游戏模式之一完成

现在,当我从stats菜单切换回tableViewController时,有时会出现EXEC_BAD_访问错误。因此:

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(出现问题的地方)的代码:


尝试分析代码,查看是否存在内存泄漏。这可能是您的应用程序崩溃的原因。

看起来苹果现在正试图实施ARC。我刚刚下载了10.7SDK的更新,它使我的程序(其中还包含performsguewithidentifier:)超级错误,并对我以前解决的多个问题(SDK更新前)抛出EXC_BAD_访问权限。我打开了ARC,并注释掉了我所有的释放/解除锁定调用,它回到了工作状态。我想调试器很好地指出了它们的位置。:)

exec_bad_access告诉我们除了试图访问无效对象之外,几乎什么都没有。你在用ARC吗?您是否启用了异常断点?ARC已关闭,什么是异常断点?它实际上是
EXC\u BAD\u ACCESS
(这是一个mach异常)请参阅此问题的第一个答案:如果您未使用ARC,请确保您启用了NSZombies。在Xcode 4中:编辑方案->诊断->启用僵尸对象切换到ARC以避免分配/释放问题
NSArray* controllers = self.navigationController.viewControllers;
int a = [controllers count] - 1;
[self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:a-2] animated:YES];