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

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



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

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

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

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

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

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

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

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

时间: 2025-01-02 15:37:06

SpriteBuilder中返回的对象类型不正确的原因的相关文章

SpriteBuilder中CCB精灵对象的Sprite frame为什么有时候不能修改

有时候你会发现CCB中的精灵对象(root节点)的Sprite frame是灰色的,不能修改.因为它是根对象,所以不存在被嵌入其他CCB的情况,那到底是什么原因呢? 可以发现此时的Timeline当前光标不在最左边,将其移到最左边后就可以修改Sprite frame的值了. 即只有当Timeline的为该Sprite的第一帧时(初始帧)时才可以修改该属性. 不光是,Sprite frame属性,某些属性也必须在Sprite的当前帧为第一帧时才能修改,比如物理关节的属性:

请检查DNT.config中的DbType节点数据库类型是否正确例如:SqlServer的访问MYSQL

  请检查DNT.config中的DbType节点数据库类型是否正确,例如:SqlServer的,访问,MYSQL 说明:执行当前的Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Exception:请检查DNT.config中Dbtype节点数据库类型是否正确,例如:SqlServer.Access.MySql 源错误: 执行当前的Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异

如何在SpriteBuilder中设置对象的通用属性

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在SpriteBuilder中可以为对象设置自定义类从而可以进行特殊属性的赋值. 比如我们需要在物理世界中设置重力值,在代码中改来改去略显麻烦,我们可以直接在自定义的属性中设置重力值. 但是一般情况下,我们可能还想设置一些内置对象的属性,比如CCNode等.但是如果你不自定义类,对象是不显示定义属性界面的.这时我们也可以手动设置自定义类,不过该类名就是

PHP强制对象类型之instanceof操作符

对象 一.简介 在PHP中实现强制对象类型有时可能非常重要.如果缺少了它,或是因为缺乏这方面的知识--基于不正确的编程假设,或者仅仅是由于懒惰,那么你会在特定的Web应用程序中看到你所不希望的结果.特别是当用PHP 4进行编程时,使用"is_a()"函数(尽管还有其它方法)来验证你所使用的对象的类型是非常容易的事情.毫无疑问,强制对象类型还可以被用于过滤输入对象(需要被作为参数传递到同一个应用程序中的其它PHP类). 不过,PHP 4并没有暴露一些有关于它的对象模型的弱点-为了实现某些

android-Android中在activity中调用service中的某个对象的方法

问题描述 Android中在activity中调用service中的某个对象的方法 Android中在activity中如何调用service中的某个对象的方法!大神求助或者说如何在activity中获取到service中的某个对象! 解决方案 你这个问题问的有些问题啊,activity中获取到service中的某个对象!估计就是调用Service的方法吧,为Service写构造方法,New出Service对象后调用,或者直接写成静态方法直接用类名调用,再或者写接口,怎么调用都可以啊,和工具类调

为什么 MySQL 中 GROUP_CONCAT 函数返回 BLOB 大对象类型?(Why GROUP_CONCAT returns BLOB?)

为什么 MySQL 中 GROUP_CONCAT 函数返回 BLOB 大对象类型?(Why GROUP_CONCAT returns BLOB?) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作.

在.Net中使用Oracle的表类型和对象类型

在一般的数据存取操作过程中,如果要对一个主表和对应的子表进行插入操作,那么我们最常见的写法就是写两个存储过程或者SQL语句,一个负责主表数据插入,一个负责子表数据插入,然后在一个事务中实现主表和子表数据的插入. 现在遇到一个问题是,能否在一个存储过程中实现主表和子表数据的插入呢?那么就需要将一对多的数据作为存储过程的参数传入.这种情况下就需要使用表类型.下面以一个学生和班级的例子来说明: 先建立一个班级表和一个学生表,一个班级里面有多个学生. 代码 CREATE TABLE CLASS (   

JavaScript中判断对象类型的几种方法总结_基础知识

我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type

isArray()函数(JavaScript中对象类型判断的几种方法)_javascript技巧

1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 typeof 的能力有限,其对于Date.RegExp类型返回的都是"object".如: typeof {}; //