我有一些代码,我实现撤消功能,所述撤销功能如下:阵列,存储器管理
- (void) undo
{
drawImage.image = pathArray.lastObject;
[pathArray removeLastObject];
}
然后我还有一个功能来捕获从屏幕的当前图像;在这个功能我对这个
[pathArray removeLastObjectatIndex:0];
的功能没有其他的呼叫在这部分程序制作得到EXC_BAD_ACCESS错误。也许可能有移动整个数组的问题,但我不想使用撤消管理器。
有没有更好的方法来获取数组的最后一个对象,然后删除第一个对象并将整个数组移动一个?
注意:路径列是MutableArray *patharray;
感谢所有=)
我只是没有和想法如何解决这个!我在官方文档中找不到任何解决方案。
我想你在这里有几个问题,但我不确定。 1)你得到一个EXEC_BAD_ACCESS试图使用你的数组,你有可能没有一个强大的数组引用,它已被释放。 2)你想对阵列中的物品做些什么?听起来像是一个堆栈,你想在哪里弹出最前面的项目。 – rooftop 2012-02-29 19:43:36
是的,我有5个对象。它显示了这个错误不良访问......并且对此有另一个好奇心。我第一次使用它,好吧,第二次使用它,好吧,但是如果我第三次调用它,应用程序在BAD ACCESS ERROR上崩溃... :( – 2012-02-29 19:48:32
看起来像你的内存已损坏。已经发布了,但是你保留了一个指向它的指针,参见http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html或者关于调试的类似文章EXC_BAD_ACCESS – Sam 2012-02-29 19:48:37