title: How to avoid "child already added. It can't be added again" in Cocos2d using ARC?
body: <p>I'm suffering in pain here with a project in Cocos2d. I have created a small project that isolates the core of my "missunderstanding".</p>
  
  <p>The following is a very simple code that creates two separate scenes and pretends to reuse the children of the first. I am using cocos2d v2 in a project using ARC.</p>
  
  <pre><code>CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello ARC World" fontName:@"Marker Felt" fontSize:64];
  
  CCScene *scene1 =  [HelloWorldLayer scene];
  CCScene *scene2 =  [HelloWorldLayer2 scene];
  
  [director_ pushScene: scene1];
  
  // I add my label to the main layer of my scene1.
  [[scene1 getChildByTag:1] addChild:label];
  //I reset my own scene1 pointer to make sure only the director points to it.
  //scene1 = nil;
  // I replace the scene, and hope that the old scene1 will be killed by cocos
  [director_ replaceScene: scene2];
  // When I want to reuse my "label" object, I get the "child already added..." exception
  [[scene2 getChildByTag:2] addChild:label];
  </code></pre>
  
  <p>Why is this wrong? 
  I've read that I should not mess with RemoveAllChildren and the alike, because replaceScene is supposed to do all the job for me.. 
  Am I assuming something radically wrong here? Is the reuse of objects between different scenes strictly forbidden?</p>