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

简介:

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


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

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

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

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

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

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

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

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

相关文章
|
关系型数据库 MySQL
数据为空不能在空值上调用此方法或属性(使用组合框)
数据为空不能在空值上调用此方法或属性(使用组合框)
103 0
lodash创建一个函数属性名称的数组,包含继承属性
lodash创建一个函数属性名称的数组,包含继承属性
59 0
lodash创建一个函数属性名称的数组
lodash创建一个函数属性名称的数组
80 0
lodash创建一个新的对象,对象的属性名是和传入对象一样,值则在函数中修改
lodash创建一个新的对象,对象的属性名是和传入对象一样,值则在函数中修改
89 0
lodash设置对象属性路径的值,可以根据函数定制值
lodash设置对象属性路径的值,可以根据函数定制值
121 0
lodash设置对象属性路径的值
lodash设置对象属性路径的值
153 0
lodash创建自身和继承的可枚举属性的值为数组
lodash创建自身和继承的可枚举属性的值为数组
66 0
lodash创建自身可枚举属性的值为数组
lodash创建自身可枚举属性的值为数组
66 0
|
JavaScript
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
957 0
js获取对象属性的两种方法,object.属性名,[‘属性名’ ]
|
编译器 C++
C++中不要随便返回对象的引用
C++中不要随便返回对象的引用
164 0
C++中不要随便返回对象的引用