Что, если я захочу разместить класс внутри другого, и я хочу легко ссылаться на него, но иногда этот класс не нужно будет размещать, а следовательно, не делать. Как это сделать? Могу ли я поместить условную часть в dealloc, чтобы ее не нужно было выпускать?
Более подробно, я использую Cocos2D. У меня есть классы способностей игрока, которые могут или не могут быть распределены. В моем init:
// Abilities
if(abilityRushH == 0){
objects = [theMap objectGroupNamed:@"oj"];
startPoint = [objects objectNamed:@"item_ability_rushH"];
x = [[startPoint valueForKey:@"x"] intValue];
y = [[startPoint valueForKey:@"y"] intValue];
rushH = [[RushHorizontal alloc] init];
[self addChild:rushH.rushHSpriteSheet];
rushH.rushHSprite.position = ccp(x,y);
}
if(abilityRushV == 0){
objects = [theMap objectGroupNamed:@"oj"];
startPoint = [objects objectNamed:@"item_ability_rushV"];
x = [[startPoint valueForKey:@"x"] intValue];
y = [[startPoint valueForKey:@"y"] intValue];
rushV = [[RushVertical alloc] init];
[self addChild:rushV.rushVSpriteSheet];
rushV.rushVSprite.position = ccp(x,y);
}
Cocos2D необходимо сохранить ссылку, чтобы он мог прокручивать карту. Но если я не распределяю это, как я НЕ освобождаю?