Cocos2d iphone 关于CCSprite初始化的内存问题 我想知道我是否做了下列案例,那是否考虑到泄漏? 如何修改代码,使其看起来更干净/更好 // ClassA @interface ClassA CCSprite* image; @property (nonatomic, retain) CCSprite* image; @end @implementation ClassA @synthesize image; - (id)init { image = [[CCSprite alloc] init]; } - (void)dealloc { [image release]; [super dealloc]; } @interface Main @end @implementation Main - (id)init { ClassA* aObject = [[ClassA alloc] init]; aObject.image = [CCSprite spriteWithFile: @"something.png"]; } @end

Cocos2d iphone 关于CCSprite初始化的内存问题 我想知道我是否做了下列案例,那是否考虑到泄漏? 如何修改代码,使其看起来更干净/更好 // ClassA @interface ClassA CCSprite* image; @property (nonatomic, retain) CCSprite* image; @end @implementation ClassA @synthesize image; - (id)init { image = [[CCSprite alloc] init]; } - (void)dealloc { [image release]; [super dealloc]; } @interface Main @end @implementation Main - (id)init { ClassA* aObject = [[ClassA alloc] init]; aObject.image = [CCSprite spriteWithFile: @"something.png"]; } @end,cocos2d-iphone,Cocos2d Iphone,我用的是同样的东西。在你的代码中,两倍的内存分配给图像 @interface ClassA : CCSprite { } @end @implementation ClassA - (id)init { } - (void)dealloc { printf("Released..\n"); [super dealloc]; } @interface Main @end @implementation Main - (id)init { ClassA* aO

我用的是同样的东西。在你的代码中,两倍的内存分配给图像

@interface ClassA : CCSprite
{

}

@end

@implementation ClassA
- (id)init
{

}

- (void)dealloc
{
    printf("Released..\n");
    [super dealloc];
}

@interface Main
@end

@implementation Main
- (id)init
{
     ClassA* aObject =  [ClassA spriteWithFile: @"something.png"];
     [self addChild:actor z:3 ];

}

- (void)dealloc
{
    [self removeAllChildrenWithCleanup:YES];

    [super dealloc];
}
@end

是的,我知道我分配了两次,但我想做的是,图像可能没有被分配一个精灵文件,这取决于类。。。这就是为什么在classA中,我想初始化spriteFile,以便以后其他类可以使用它。我该怎么做?我可以像[image setImage:@“something.png”]?第一次使用spriteWithFile,当您想更改时,请使用setDisplayFrame:或setTexture:。无论您做什么,都不要调用[image dealloc],您可能会想释放它。对不起,这是一个输入错误。。我编辑了iTunes ARC,use ARC,use ARC。谷歌的教程,使弧和停止怀疑,写你的应用程序!