我有一些代碼,我實現撤消功能,所述撤銷功能如下:陣列,存儲器管理
- (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