Cocos2D iPhone - 对象发送自动释放次数太多了?

时间:2012-03-07 13:06:21

标签: iphone ios cocos2d-iphone

我已经将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];

对象发送过多次 - ?????????

我错过了什么?感谢。

2 个答案:

答案 0 :(得分:1)

您显示的代码似乎正确无误。这不是实际的代码,或者这里没有显示其他一些相关的上下文。你问题中的代码都是正确的。

答案 1 :(得分:0)

CCSprite是自动发布的,您无需将汽车设置为自动释放。