精通Cocos2d-x游戏开发(基础卷)
上QQ阅读APP看书,第一时间看更新

3.10 忘记移除

在使用NotifierCenter的时候,一个很容易使程序崩溃的问题就是,你的对象添加到了NotifierCenter中而又忘记移除,这样的结果是当对象从场景中移除时,NotifierCenter还会调用对象的回调,此时程序可能会崩溃。

虽然Cocos2d-x 3.0之后废弃了NotifierCenter,使用EventDispatcher来替代,事件的监听器关联到了Node对象上,在Node对象被释放时会自动将关联到该对象的监听器注销,但在做一些添加注册的时候,程序员应该习惯性地想到何时移除,是否Cocos2d-x自动帮你做了这个事情。