didLoadFromCCB方法的调用顺序
方法 调用 顺序
2023-09-14 08:56:50 时间
比如GameScene.ccb中含有GameMenuLayer.ccb文件,则可认为前者是后者的父亲,后者是前者的儿子.前者有一个ivar _gameMenuLayer指向一个GameMenuLayer类的实例;后者的实例中也有一个ivar _gameScene指向一个前者的实例.
在这个例子中,如果我们编写GameMenuLayer类和GameScene类中的didLoadFromCCB实例方法分别如下:
//代码段0 //In GameMenuLayer.m -(void)didLoadFromCCB{ CCLOG(@"enter didLoadFromCCB method : %@",self); //do anything you want... //代码段1 //In GameScene.m -(void) didLoadFromCCB _gameMenuLayer.gameScene = self; }
则这意味着代码段0的初始化方法会先于代码段1的方法调用,即在GameMenuLayer的didLoadFromCCB方法调用时,其_gameScene实例变量还未初始化.在GameMenuLayer中的所有需要有效_gameScene实例变量的代码都需要延后执行———-比如说,放到onEnter方法中运行.
如果你需要在GameMenuLayer实例中快速引用GameScene实例对象,你可以通过以下代码来完成;不过以下代码要在除节点init和didLoadFromCCB方法之外的地方调用,因为这些地方self.scene总为nil:
GameScene *tmp = (GameScene*)self.scene.children.firstObject;
我们可以在GameMenuLayer的onEnter方法中尝试一下:
GameScene *tmp = (GameScene*)self.scene.children.firstObject; CCLOG(@"in %@ : **** %@ must equ %@ ****!",NSStringFromSelector(_cmd), tmp,_gameScene); }
输出如下:
2015-09-26 18:25:37.801 LearnSpriteBuilder[6587:231964] in onEnter : **** GameScene = 0x7b1b1720 | Name = must equ GameScene = 0x7b1b1720 | Name = ****!
多重继承重名方法调用顺序 #coding=utf-8 class base(object): def test(self): print( ----base test---- ) class A(base): def test(self): print( ----A test...
相关文章
- currentstyle 织梦_织梦导航高亮标签currentstyle调用自定义字段的方法
- 【说站】js中replaceAll方法的实现
- 《软件方法》随想(3)业务建模之业务用例和流程
- 处理医学时间序列中缺失数据的3种方法
- Redis的配置、启动、操作和关闭方法
- CentOS8下的root密码快速修改方法
- 在Oracle中导入dmp文件的方法
- WebApiClient.AOT.dll 调用api地址 -> 调用方法详解编程语言
- Oracle删除表字段的正确方法(oracle删表字段)
- Linux下快捷修改系统密码的方法(linux修改系统密码)
- JVM之动态方法调用:invokedynamic
- 深入了解Oracle过程调用方法—从简单到复杂(oracle过程调用)
- Linux 下 NFS挂载的简单实现方法(nfslinux挂载)
- 【MySQL服务器INI配置文件查找方法】(mysqlini位置)
- 使用C语言优雅地操作MySQL 带参数值的调用方法(c mysql 带参数值)
- 解决MySQL用CMD命令行卸载的方法(cmd卸载mysql命令)
- JavaScript调用Activex控件的事件的实现方法
- js动态添加onload、onresize、onscroll事件(另类方法)
- HttpRequestGet和Post调用其他页面的方法
- 异步调用webservice返回responseXML为空的问题解决方法
- 基于JAVA中使用Axis发布/调用Webservice的方法详解
- 深入分析WPF客户端读取高清图片卡以及缩略图的解决方法详解
- c语言调用汇编的方法
- javascript删除option选项的多种方法总结
- 安卓应用开发通过java调用c++jni的图文使用方法
- 深入理解Javascript动态方法调用与参数修改的问题
- jquery.Ajax()方法调用Asp.Net后台的方法解析
- php基于str_pad实现卡号不足位数自动补0的方法
- smarty模板引擎使用内建函数foreach循环取出所有数组值的方法