Я пишу код с помощью cocos2d. Я хочу освободить всю выделенную память. Я сделал это с помощью метода dealloc следующим образом.
Все выпущенные мной объекты объявлены в файле интерфейса, а свойство (assign) было установлено и синтезировано в файле реализации.
Я использовал метод alloc для их создания, например
self.PlayerA = [[CCSprite alloc] initWithFile:@" PlayerImage_01.png"];
-(void)dealloc
{
int count , i ;
count = [self.PlayerA retainCount];
for(i = 0; i < count; i++)
[self.PlayerA release];
count = [self.targetLayer retainCount];
for(i = 0; i < count; i++)
[self.targetLayer release];
count = [self.playerGunSlowDrawSheet retainCount];
for(i = 0; i < count; i++)
[self.playerGunSlowDrawSheet release];
count = [self.playerGunSlowDrawAnimation retainCount];
for(i = 0; i < count; i++)
[self.playerGunSlowDrawAnimation release];
count = [self.numberFinishedTime retainCount];
for(i = 0; i < count; i++)
[self.numberFinishedTime release];
count = [self.backGroundImage retainCount];
for(i = 0; i < count; i++)
[self.backGroundImage release];
[[CCTextureCache sharedTextureCache] removeAllTextures];
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrames];
[super dealloc];
}
Но я получаю: Программа получила сигнал: «EXC_BAD_ACCESS». Я отлаживаю, он показывает ошибку на [super dealloc];
Я совершенно не прав в управлении памятью? Или мне что-то в этом не хватает. Спасибо.