0
我想在我的GameManager單例初始化中構建一些場景。ccscene弧和autorelease
場景是通過
- (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引用來保持對象的分配?
在此先感謝您的幫助....
也不讓你使用ARC時有什麼區別。 [CCScene節點]和[[CCScene alloc] init]的工作原理與ARC相同(儘管低級技術細節揭示了稍微不同的內存管理例程)。確保你沒有陷入推動當前正在運行的場景的陷阱,這將會崩潰。 – LearnCocos2D
我絕對沒有推出一個正在運行的場景 - 並驗證調用[[[[CCScene alloc] init] autorelease];崩潰和[[CCScene alloc] init]不.... – OptimisticMonkey