У меня есть класс с двумя методами, перечисленными ниже.Я вызываю их из другого класса в функции.В этой функции я создаю новый класс и вызываю fireTorpedoContinued.В C # все было бы замечательно, но я начал думать об этом.Я нигде не сохраняю класс, и, кажется, ничто не мешает ему выйти из памяти между продолжением огневой торпеды и огневой торпеды.Имеет ли что-нибудь этот класс или мне нужно его сохранить?Например, класс функции execute сохраняет класс?Что, если бы этого не было, у меня были бы проблемы?
- (void) fireTorpedoContinued
{
[self.torpedoData.explosionSprite stopAllActions];
CCPlace *placeAction = [CCPlace actionWithPosition:_endPoint];
CCShow *showAction = [CCShow action];
CCCallFunc *callFunctionDeathCheck = [CCCallFunc actionWithTarget:self.deathCheckSelectorTarget selector:self.deathCheckSelector];
CCFadeOut *fadeOutAction = [CCFadeOut actionWithDuration:1.0f];
CCCallFunc *callfunctionAction = [CCCallFunc actionWithTarget:self.completedSelectorTarget selector:self.completedSelector];
CCSequence *sequenceAction = [CCSequence actions:placeAction, showAction, callFunctionDeathCheck, fadeOutAction, callfunctionAction, nil];
[self.torpedoData.explosionSprite runAction:sequenceAction];
}
- (void) fireTorpedo
{
[self.torpedoData.torpedoSprite stopAllActions];
CCPlace *placeAction = [CCPlace actionWithPosition:_startPoint];
CCShow *showAction = [CCShow action];
CCMoveTo *moving = [CCMoveTo actionWithDuration:2.0f position:_endPoint];
CCHide *hideAction = [CCHide action];
CCAction *callCompletedFunction = [CCCallFunc actionWithTarget:self selector:@selector(fireTorpedoContinued)];
CCSequence *sequenceAction = [CCSequence actions:placeAction, showAction, moving, hideAction, callCompletedFunction, nil];
[self.torpedoData.torpedoSprite runAction: sequenceAction];
}