我有我認爲是一個奇怪的錯誤,但我當然是相對較新的iPhone開發,所以它可能不是所有這些奇怪畢竟。NSMutableArray刪除對象,但然後應用程序崩潰
我有一個數組(NSMutableArray)的對象,我跟蹤(每次用戶觸摸一個按鈕時添加到數組)我試圖做的是當數組達到一定的值我將新對象添加到數組的開頭,然後刪除數組中的最後一個對象。當我遍歷我的代碼時,所有工作都會刪除對象,但隨後應用崩潰了......當應用崩潰時,調試器不在任何代碼行,應用中沒有循環或定時器,所以我可以'不要想着其他任何正在運行的東西。
這裏是碰撞
if([objectArray count] > 10)
{
MyObject *objectToRemove = [[MyObject alloc] init];
objectToRemove = [objectArray objectAtIndex:10];
[objectArray removeObjectAtIndex:10];
[objectToRemove removeFromSuperview];
}
此代碼的主要一點是,每次用戶觸摸的按鈕的對象被添加到屏幕和顯示之前執行的代碼,然後當對象數量達到10並且用戶再次觸摸該按鈕,刪除已添加的第一個對象並顯示新對象。如果我註釋掉removeObjectAtIndex行,一切都按預期工作,但數組不斷增長。
我也嘗試刪除UIview被刪除後,該應用程序的行爲相同的方式刪除對象。如果我嘗試從不同索引的數組中刪除一個對象(I.E 3),該應用程序不會崩潰,但它不會給我預期的結果。但就像我說的代碼運行良好,當我檢查數組的執行前後數組的數量分別爲11和10。
你可以提供任何幫助,將不勝感激,
BWC