-(CCNode *)createFieldNode:(NSMutableArray *)fieldArray{
CGSize winSize = [CCDirector sharedDirector].viewSize;
CCNode* stackNode= [CCNode node];
for (int i; i <=fieldArray.count; i++){
//itemP is previous item in array and itemC is current item in area based on index i
BPItem*itemP;
BPItem*itemC;
if(i!=0){
itemP=[fieldArray objectAtIndex:i-1];
itemC=[fieldArray objectAtIndex:i];
float stackWidth=arc4random()%200+50;
float stackHeight=itemP.position.y+itemP.contentSize.height;
itemC.position=ccp(stackWidth,stackHeight);
}
else{
itemC=[fieldArray objectAtIndex:i];
float stackWidth=arc4random()%200+50;
itemC.position=ccp(stackWidth,0);
}
//having trouble adding multiple nodes to stackNode
[stackNode addChild:itemC];
}
return stackNode;
}
fieldArray의 CCNodes를 부모 CCNode "stackNode"에 추가하고 싶습니다. 내가 브레이크 포인트를 사용할 때 인덱스 0에서 CCNode를 추가 할 수 있고 인덱스 1에서 CCNode를 추가 할 수 있습니다. 그러나 프로그램은 i = 2에서 충돌합니다. 내가받는 오류는 다음과 같습니다.for 루프를 사용하여 CCNode를 부모 CCNode에 추가하십시오.
'NSInternalInconsistencyException'이라는 캐치되지 않은 예외로 인해 앱 종료 중입니다. '자식이 이미 다른 노드에 추가되었습니다. 다시 추가 할 수 없습니다. '
크래시가 발생하기 전에 "stackNode"에 두 개의 자식이 있습니다. 나는 많은 수의 arrayArray.count가있는 수백 개의 다른 배열을 가지고 있기 때문에 하나씩 CCNode를 추가하지 않을 것이다. 내가 명확하지 않다면 더 설명 할 수 있도록 도와주세요.