0

我正在尝试在我的 GameManager 单例初始化中构建一些场景。

场景是通过创建的

   - (id)init
    {
        self = [super init];
        if (self) {        // 'mainScene' is an autorelease object.
        mainScene = [CCScene node];  
...  
    }

GameManger 强烈引用 mainScene:

@interface GameManager : NSObject
{
    CCScene* mainScene;
}

但是,如果我稍后尝试用

[[CCDirector sharedDirector] pushScene:mainScene]; 

我得到 EXC_BAD_ACCESS

如果我创建并立即推送,那么一切正常。默认的 __strong 引用不应该保持分配的对象吗?

提前感谢您的帮助....

4

1 回答 1

0

想通了... [CCScene node] 是一个方便的工厂方法,它可以: [[[self alloc] init] autorelease];

但是因为我使用的是弧...我不想要那个 - 我想要

mainScene = [[CCScene alloc]init];

代替

mainScene = [CCScene node];
于 2012-06-14T21:31:52.893 回答