Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Cocos2d在循环中添加子项:无法添加子项_Objective C_Cocos2d Iphone - Fatal编程技术网

Objective c Cocos2d在循环中添加子项:无法添加子项

Objective c Cocos2d在循环中添加子项:无法添加子项,objective-c,cocos2d-iphone,Objective C,Cocos2d Iphone,我对Objective-C和Cocos2d非常陌生,我真的不明白为什么我会在下面的代码中出现以下错误。你能帮忙吗 - (NSArray *) menuItemsArray { NSMutableArray *array = [NSMutableArray alloc]; for (Player * player in playersArray) { NSLog(@"creating menu item with image %@",player.imageF

我对Objective-C和Cocos2d非常陌生,我真的不明白为什么我会在下面的代码中出现以下错误。你能帮忙吗

- (NSArray *) menuItemsArray
{   
    NSMutableArray *array = [NSMutableArray alloc];
    for (Player * player in playersArray) {
        NSLog(@"creating menu item with image %@",player.imageFilename);
        CCLayer *newPage = [[CCLayer alloc] init];
        CCMenuItemImage *titem = [CCMenuItemImage itemFromNormalImage:player.imageFilename
                                                    selectedImage:player.imageFilename
                                                           target:self selector:@selector(playerSelected:)];

        CCMenu *menu = [CCMenu menuWithItems: titem, nil];
        menu.position = ccp(self.contentSize.width/2, self.contentSize.height/2);

        NSLog(@"before adding item to layer");
        //[titem removeFromParentWithCleanup:YES];
        [newPage addChild:titem];
        //[newPage release];
        NSLog(@"after adding item to layer");
        [array addObject:newPage];

        /*
        [titem release];*/
        //[newPage release];
        //[menu release];
    }    
return array;
}
我得到了一个错误:

2012-06-15 17:13:11.003 Killer[3222:707] *** Assertion failure in -[CCLayer     addChild:z:tag:], /Users/max/Documents/workspace/Killer/Killer/libs/cocos2d/CCNode.m:388
2012-06-15 17:13:11.006 Killer[3222:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'child already added. It can't be added again'

抱歉,如果这个问题的级别很低。。。如果你能帮助我,谢谢你!:)

您的错误是试图将创建的菜单项添加到两个父菜单项。仅将其添加到菜单中。然后将菜单添加到图层。替换你的线路

[newPage addChild:titem];
用这个

[newPage addChild:menu];

您将收到每个玩家的一系列页面。

非常感谢您,很抱歉提出这个问题,现在我意识到我应该找到。。。再次感谢!您可以将答案标记为有效,以帮助他人找到此类问题的解决方案=)