title: Cocos2d Changing Scenes: BAD_ACCESS Exception
body: <p>I have sincerely tried to understand the error from any remotely related question I have seen here. However, the issue that I am having is that when I try to transition from my level1 scene to levelselector scene, the game crashes with the bad access exception. The menus and transitions worked flawlessly while I was using them among main menu, credits, levelselector and all. 
  Now I do know that the error is on the main thread. 
  The selector shows that it is at </p>
  
  <pre><code>    int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
  </code></pre>
  
  <p>now on my level1 scene, I do have three thread using [self schedule] and I have put in the corresponding [self unschedule];</p>
  
  <p>I also have a NSMutableArray which I tried releasing and pointing to nil but I get another error. I put it in the dealloc method of the scene. I did the same with the [self unschedule] as well. Is there a better place to put it?</p>
  
  <p>here is how it looks like, had forgotten to retain the stuff. release is working fine now but still crashes right after the transition. the scene loads as in I can see it, but then it crashes right away. </p>
  
  <pre><code>[enemies release];
  [player release];
  [accel release];
  [pausedLabel release];
  [pausedLayer release];
  [health release];
  [score release];
  
  enemies = nil;
  player = nil;
  accel = nil;
  pausedLabel = nil;
  pausedLayer = nil;
  health = nil;
  score = nil;
  
  
  [self unschedule:@selector(updateGameLogic)];
  [self unschedule:@selector(throwEnemey)];
  [self unschedule:@selector(enemyShoot)];
  
  [super dealloc];
  </code></pre>
  
  <p>I used [[Class init] alloc] retain] this time around for each of the objects above</p>