0

iPhoneアプリを開発していますが、CCMenuからすべてのアイテムを削除するときに問題が発生します。問題は、CCMenuItemのセレクターが呼び出されたときに、セレクターをトリガーしたアイテムを削除すると、アプリケーションがクラッシュすることです。

コード(CCLayer内):

 -(void) clearAll
 {
    [popupMenu removeAllChildrenWithCleanup:YES];
 }
 -(void) onButtonClick:(id) sender
 {
    [self clearAll];
 }
 -(void) createButtons
 {
      CCMenuItemImage * menuItem = [CCMenuItemImage itemFromNormalImage:@"back_button.png" selectedImage:@"back_button.png" target:self selector:@selector(onButtonClick:)]; 
      [popupMenu addChild: menuItem];
 }           

アプリケーションがクラッシュする理由と、この問題を修正するにはどうすればよいか、誰か知っていますか?

ありがとう

アップデート:

クラッシュメッセージスタックトレース:

 0x01abaabc in __NSI3 ()
 0x01a9f495 in -[NSInvocation invoke] ()
 0x0006852f in -[CCMenuItem activate] at /***/cocos2d/CCMenuItem.m:128
 0x00068d80 in -[CCMenuItemLabel activate] at /***/cocos2d/CCMenuItem.m:222
 0x00065c24 in -[CCMenu ccTouchEnded:withEvent:] at /***/cocos2d/CCMenu.m:196
 0x01b3ae99 in -[NSObject performSelector:withObject:withObject:] ()
 0x000bb44d in -[CCTouchDispatcher touches:withEvent:withTouchType:] at /***/cocos2d/Platforms/iOS/CCTouchDispatcher.m:268
 0x000bbfa3 in -[CCTouchDispatcher touchesEnded:withEvent:] at /***/cocos2d/Platforms/iOS/CCTouchDispatcher.m:337
 0x000bdd5e in -[EAGLView touchesEnded:withEvent:] at /***/cocos2d/Platforms/iOS/EAGLView.m:330
 0x009d63c0 in -[UIWindow _sendTouchesForEvent:] ()
 0x009d65e6 in -[UIWindow sendEvent:] ()
 0x009bcdc4 in -[UIApplication sendEvent:] ()
 0x009b0634 in _UIApplicationHandleEvent ()
 0x03589ef5 in PurpleEventCallback ()
4

0 に答える 0