Cocos2d iphone 在cocos2d中使用前一阶段的用户数据

Cocos2d iphone 在cocos2d中使用前一阶段的用户数据,cocos2d-iphone,Cocos2d Iphone,我发现,当我将场景从一个游戏换成另一个菜单,然后试图返回游戏时,用户数据不知何故已满,联系人侦听器正在读取某些内容并尝试采取行动,因此我崩溃了 我的联系人中有一行: if( bodyA->GetUserData() !=NULL && bodyB->GetUserData() !=NULL) { CCSprite *actora = (CCSprite*)bodyA->GetUserData(); CCSprite *actorb = (CCSprite*

我发现,当我将场景从一个游戏换成另一个菜单,然后试图返回游戏时,用户数据不知何故已满,联系人侦听器正在读取某些内容并尝试采取行动,因此我崩溃了

我的联系人中有一行:

if( bodyA->GetUserData() !=NULL && bodyB->GetUserData() !=NULL)
{
CCSprite *actora = (CCSprite*)bodyA->GetUserData();   
CCSprite *actorb = (CCSprite*)bodyB->GetUserData();
在我替换我的场景之前,我摧毁了所有的身体,但不知何故,当我回到游戏场景时,用户数据是满的,在场景打开时这种情况是真实的,它崩溃了。这是因为屏幕上没有任何精灵或身体

如何在替换场景之前删除userData?
如何从UserData中删除我的精灵?

您确定dealloc方法中包含此代码吗

delete world;
world = NULL;