SpriteBuilder中返回的对象类型不正确的原因

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


最近在码代码的时候,发现一个问题,特此写出来和大家分享,希望遇到类似问题的童鞋不再走弯路.

在SpriteBuilder中新建的CCB文件类型为CCNode,但是想让其对应一个自定义类.在代码中使用:

MyClass *obj = [CCBReader load:@"Layers/MyCCBFile"];
[obj myMethod];

代码,运行后发现app崩溃,提示obj对象中找不到myMethod方法.

下断调试发现obj竟然是CCNode类的实例,但按道理它应该是MyClass类的实例,在CCNode中自然找不到myMethod方法.

检查发现在SpriteBuilder中忘了在CCB文件中设置自定义类的名字 ;(

这样的话,程序运行时不会有任何的警告,但就非得崩溃一回.

加上自定义类后,app运行正常了.

你可能感兴趣的:(SpriteBuilder中返回的对象类型不正确的原因)