что вызывает запуск расписания сцены даже после замены сцены? - PullRequest
0 голосов
/ 24 марта 2012

у меня есть сцена 1, которая заменена на сцену 2

[[ccdirector shareddirector]replacescene:scene2]//scene2 replacement

после некоторого выбора сцены 2 я снова заменяю сцену сценой 1

[[ccdirector shareddirector]replacescene:scene1] //scene1 replacement

но расписание scene2 все еще выполняется, и я действительно ничего не сохранил в scene2, пожалуйста, помогите мне с этим !!

1 Ответ

1 голос
/ 24 марта 2012

Это может произойти, только если ваша сцена не выпущена.Это означает, что да, вы как-то сохраняете это.Имейте в виду, что добавление объекта в NSArray или NSDictionary сохраняет его.

Установите точку останова в методе -(void) dealloc каждой сцены или добавьте строку NSLog / CCLOG, чтобы убедиться, что сцена правильно освобождена.1004 *

Я догадываюсь из вашего кода, что вы на самом деле держитесь за объекты scene1 и scene2.Вы не должны этого делать.Вместо этого каждый раз, когда вы меняете его, создайте новый экземпляр класса сцены, например:

[[CCDirector sharedDirector] replacescene:[Scene2 node]];
...