Что, если я хочу выделить класс внутри другого и хочу легко ссылаться на него, но иногда этот класс не нужно выделять, поэтому его нельзя освобождать. Как это делается? Могу ли я поместить условное выражение внутри Dealloc, чтобы его не нужно было освобождать?
Более подробно я использую Cocos2D. У меня есть классы способностей игроков, которые могут или не должны быть распределены. В моей инициализации:
// 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 должен сохранить ссылку, чтобы он мог прокручиваться вместе с картой. Но если я не выделяю его, как я НЕ освобождаю его?
Cocos2D
необходимостью сохранить ссылку? Создает ли он экземпляр переменной для своей собственной цели? - person Deepak Danduprolu   schedule 28.06.2011rushH
иrushV
nil
, прежде чем выделять их? Зарегистрируйте их. - person Deepak Danduprolu   schedule 28.06.2011