我正在尝试在我的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引用来保持对象的分配吗?
提前感谢您的帮助......
答案 0 :(得分:0)
想出来...... [CCScene节点]是一种便利工厂方法: [[[self alloc] init] autorelease];
但是因为我正在使用弧......我不想要那个 - 我想要
mainScene = [[CCScene alloc]init];
而不是
mainScene = [CCScene node];