我需要在更新函数中释放我的图层。我调用函数finishGame
-(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;这很奇怪。因为程序无法完成。
我做错了什么?
[obj removeFromParentAndCleanup:YES]释放有问题的对象。你不应该在调用那个方法之后调用对象上的任何东西,除非你指定了NO。你仍然可以将其设置为nil,不过,这只是良好的Objective-C编码实践。
还有:如果你正确地子类化了CCNode,它们无论如何都会自动释放。