Вот что я пробовал.
В моем методе инициализации я инициализировал массив:
deleteSprites = [[NSMutableArray alloc] initWithCapacity:500];
Вот как я добавил их в массив:
CCSprite *SpriteSave;
SpriteSave = [CCSprite spriteWithBatchNode:Batch rect:CGRectMake(0,0,6,6)];
[Batch addChild:SpriteSave];
[deleteSprites addObject:SpriteSave];
Вот как я пытаюсь удалить спрайты:
delCount = 0;
while (delCount < [deleteSprites count])
CCSprite *delSprite = (CCSprite *) [deleteSprites objectAtIndex:delCount];
[delSprite.parent removeChild:delSprite cleanup:YES];
delCount++;
}
[deleteSprites removeAllObjects];
Это приводит к переворачиванию некоторых спрайтов, но они все равно появляются на экране, и ни один из них не удаляется.Я уже исследовал всюду, и хотя я сделал свой код очень похожим на другие, которые заставили его работать, он все равно не будет работать для меня.Я также уже прочитал документы по управлению памятью и до сих пор не вижу, что я делаю неправильно.Также я попытался добавить спрайты в пользовательские данные приборов, которые они должны представлять, и когда прибор уничтожен, я снова пытаюсь удалить спрайт, но происходит то же самое.Пожалуйста помоги!.
Я понял, что это было.Я допустил логическую ошибку в нескольких своих утверждениях if и случайно добавил спрайты дважды.Извините за это всех.