2011-08-03 62 views
0

我需要在更新函數中釋放我的圖層。我稱之爲功能finishGame。Cocos2D CClayer去除不良訪問

-(void)finishGame{ 
    [[CCDirector sharedDirector] pause]; 
    [layerRoot removeFromParentAndCleanup:YES]; 
    [layerRoot autorelease]; 
    layerRoot=nil; 
} 

但後來我得到了無論是不好的訪問通知

// updates with priority == 0 
    DL_FOREACH_SAFE(updates0, entry, tmp) { 
     if(! entry->paused) 
      entry->impMethod(entry->target, updateSelector, dt); //<<< In this string. 
    } 

或返回0; 0_o這很奇怪。因爲程序無法完成。

我該怎麼做?

非常感謝。

回答

0

[obj removeFromParentAndCleanup:YES]釋放有問題的對象。在調用該方法後,您不應該調用對象上的任何內容,除非您指定否。儘管如此,你仍然可以將它設置爲零,這只是Objective-C編碼的一個很好的實踐。

另外:如果您正確地劃分了CCNode,他們會自動釋放。