Cocos2D iPhone - Объект отправлял авто-релиз слишком много раз? - PullRequest
1 голос
/ 07 марта 2012

У меня есть подклассы CCSprite и мой класс с именем Cars, такие как:

+(Cars *) carWithNumber:(int)number COLOR:(int)color SHAPE:(int)shape {
    return [[[Cars alloc] initWithNumber:number COLOR:color SHAPE:shape] autorelease];
}

-(id) initWithNumber:(int)number COLOR:(int)color SHAPE:(int)shape {

    self = [self init];

    if (self) {
        self.texture = [self createTextureWithNumber:number COLOR:color SHAPE:shape];
    }

    return self;
}

, затем я создаю машину, используя, например, что-то вроде этого:

Cars *oneCar = [Cars carWithNumber:2 COLOR:3 SHAPE:5];
[self addChild:oneCar];

Это выглядит идеально, но если я проанализирую код с помощью Xcode, он укажет на эту строку

return [[[Cars alloc] initWithNumber:number COLOR:color SHAPE:shape] autorelease];

, сказав, объект отправлен -autorelease слишком много раз ?????????

что мне не хватает?Спасибо.

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Код, который вы показали, отображается правильно. Либо это не настоящий код, либо здесь есть другой релевантный контекст. Код в вашем вопросе все правильно.

0 голосов
/ 07 марта 2012

CCSprite - это авто-релиз, вам не нужно устанавливать авто-релиз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...