繁体   English   中英

切换视图控制器时EXEC_BAD_ACCESS(代码= 1地址= 0x90000008)

[英]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];

有问题

链接到代码

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

看起来苹果现在正试图强制执行A​​RC。 我刚刚下载了10.7 SDK的更新,它使我的程序(还包含performSegueWithIdentifier :)超级错误并在我之前解决的多个问题上抛出EXC_BAD_ACCESS(SDK更新前)。 我打开了ARC,并将我的所有释放/ dealloc调用注释掉,恢复了工作状态。 很好,调试器如何指出你在哪里我想。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM