2011-09-11 179 views
0

我完成了一个带音频的小应用程序,单击“下一步”按钮将播放声音并带我到下一页,点击“返回”将播放声音并带我回到上一页。但是如果我做下一个,返回两次,模拟器崩溃,我从日志中收到下面的消息。任何人都可以帮忙,欢呼。 消息是:*线程1:编程接收到的信号:“EXC_BAD_ACCESS”* 虽然代码确实编译好,我可以翻页(共41页)。iPhone模拟器崩溃

回答

2

此错误最常引起的原因是尝试调用已释放对象的方法。诊断此问题的一种方法是在乐器中使用僵尸模板。当你发送一个释放对象时,它会给你一个对话框(用调用堆栈)。无论什么原因,这肯定与你的内存管理有关。

+0

非常感谢你,我怎么会纠正这个,请,我需要什么样的代码编写和我应该在哪里把必要该问题的代码?干杯! – idipro

+0

首先,你必须找出问题发生的地方。这是仪器的用途。我会推荐这个资源:http://www.markj.net/iphone-memory-debug-nszombie/ – dtuckernet

+0

这真是太好了!我正在看看,并会让你知道,如果这解决了我的问题。再次感谢! – idipro

0

这是一个猜测。

你说如果你点击下一步然后再打回来,它会崩溃。 我假设你将页面保存在一个数组中,对吗?如果是这样,通过点击两次,你试图加载索引为-1的页面。一个数组在索引-1处没有对象。

如果我是正确的,所有你需要做的是这样的:

// In the back button code: 
if(currentPageIndex - 1 < 0) { 
    // Dont go back 
} else { 
    // Go Back 
} 
+0

非常感谢,dtuckernet是对的,这是内存管理问题,现在全部排序,谢谢你的帮助。 – idipro