在 往CCLayer里面加 Notification通知的时候,一定要加在OnEnter和OnExit里面

2024-03-13 08:58

本文主要是介绍在 往CCLayer里面加 Notification通知的时候,一定要加在OnEnter和OnExit里面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    在 往CCLayer里面加  Notification通知的时候,一定要加在OnEnter和OnExit里面,不要加在init和 dealloc上面,因为

很多时候CCLayer是通过node方法产生的,在切换layer的时候,dealloc不一定会调用,这样会导致一个layer多次注册一个通知,这样导致,如果发送一个通知,会多次调用通知响应函数,导致问题,切记。


   例子代码如下:


   

-(void)  onEnter
{//注册新玩家读取通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onReloadPlayerVec:) name:Str_NSNotification_FetchPlayerChairInfo object:nil];//注册新用户基本资料通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onNewUserBasicInfo:) name:Str_NSNotification_NewUserBasicInfo object:nil];//注册新用户其他资料通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onNewUserOtherInfo:) name:Str_NSNotification_NewUserOtherInfo object:nil];//注册玩家退出当前桌子的通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onPlayerExitTable:) name:Str_NSNotification_PlayerExitTable object:nil];//注册 公聊  消息  通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onPublicMsg:) name:Str_NSNotification_PublicMsg object:nil];[super  onEnter];
}- (void)  onExit
{[[NSNotificationCenter defaultCenter] removeObserver:self name:Str_NSNotification_FetchPlayerChairInfo object:nil];[[NSNotificationCenter defaultCenter] removeObserver:self name:Str_NSNotification_NewUserBasicInfo object:nil];[[NSNotificationCenter defaultCenter] removeObserver:self name:Str_NSNotification_NewUserOtherInfo object:nil];[[NSNotificationCenter defaultCenter] removeObserver:self name:Str_NSNotification_PlayerExitTable object:nil];[[NSNotificationCenter defaultCenter] removeObserver:self name:Str_NSNotification_PublicMsg object:nil];[self  clearUp];[super  onExit];
}

这篇关于在 往CCLayer里面加 Notification通知的时候,一定要加在OnEnter和OnExit里面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/804308

相关文章

跟我一起玩《linux内核设计的艺术》第1章(四)——from setup.s to head.s,这回一定让main滚出来!(已解封)

看到书上1.3的大标题,以为马上就要见着main了,其实啊,还早着呢,光看setup.s和head.s的代码量就知道,跟bootsect.s没有可比性,真多……这确实需要包括我在内的大家多一些耐心,相信见着main后,大家的信心和干劲会上一个台阶,加油! 既然上篇已经玩转gdb,接下来的讲解肯定是边调试边分析书上的内容,纯理论讲解其实我并不在行。 setup.s: 目标:争取把setup.

创建一个大的DIV,里面的包含两个DIV是可以自由移动

创建一个大的DIV,里面的包含两个DIV是可以自由移动 <body>         <div style="position: relative; background:#DDF8CF;line-height: 50px"> <div style="text-align: center; width: 100%;padding-top: 0px;"><h3>定&nbsp;位&nbsp;

运行.bat文件,如何在Dos窗口里面得到该文件的路径

把java代码打包成.jar文件,编写一个.bat文件,执行该文件,编译.jar包;(.bat,.jar放在同一个文件夹下) 运行.bat文件,如何在Dos窗口里面得到该文件的路径,并运行.jar文件: echo 当前盘符:%~d0 echo 当前路径:%cd% echo 当前执行命令行:%0 echo 当前bat文件路径:%~dp0 echo 当前bat文件短路径:%~sdp0 nc

AOP之执行前通知@Before

Spring AOP之执行前通知@Before 此文章说一下执行前通知,即注解@Before。 作用 多用于日志记录、权限校验、初始化资源等。 触发时间 目标函数执行触发。 定义 public class AopBeforeAspect {@Before("execution(public * com.example.demo.service.impl.AccountServiceI

兔子--Notification的使用

<span style="font-size:18px;color:#ff0000;"></span> <span style="font-size:18px;color:#ff0000;">使用步骤:</span><p><span style="font-size:18px;color:#ff0000;">1 获取通知管理器NotificationManager,它也是一个系统服务</sp

安卓8.0通知栏适配

一、谷歌为什么在安卓8.0对通知栏进行修改         系统通知栏作为除桌面启动图标之外的唯一入口,对app的日活起到非常重要的作用,因此各个app开发商都希望能抢占用户的通知栏。随着移动端的普及和安卓手机存储容量的扩大,用户手机能安装的app数量越来越多,一台手机安装几十到上百个app已经不足为奇,各个app都极尽可能的抢占通知栏,而安卓系统本身又没有一种规范来约束app开发商的这种行为,

function 报错 Uncaught ReferenceError: fuzzySearch is not defined用$(document).ready(function(){ })里面的

这个情况就有点坑了 ,小胖哥看了都说写法没大问题,后面觉得把 function 函数弄出去的话试下,果然可以了!!!  $(document).ready(function(){ })里面的 function 报错 Uncaught ReferenceError: fuzzySearch is not defined 先来图看看,第一张图跟 第二张图 看起来代码写的很规矩?

ubuntu —— 命令行执行完毕通知(undistract-me)

当我们在命令行下:   (1)git clone 一个项目时(2)sudo apt-get install 时(3)sudo make 时。。。 往往要经历比较长的时间等待,一方面我们不能盲等,时间白白流失,我们需要转而去做其他事情,另一方面,我们有不确定方才的任务是否执行完毕,我们会时不时的去查看下该命令是否执行完毕了(类似计算机中的轮循机制),这样效率比较低,饱受 distract(分心

kubernetes里面那些事————控制器

资源-控制器 一,控制器作用二,控制器类型2.1,Deployment:无状态应用部署2.2,DaemonSet:确保所有Node运行同一个pod2.3,StatefulSet:有状态应用部署2.4,Job:一次性任务2.5,CronJob:定时任务2.6,pod2.7,service2.8,replicaset2.9,endpoints 三,控制器yaml应用3.1,Deployment3