addObserver和postNotification函数传递函数的区别

addObserver和postNotification函数传递函数的区别,第1张

概述上一篇文章中,我们利用addObserver来订阅消息,用postNotification来发布消息,但是有一 点要注意的是,addObserver和postNotification都可以传递一个CCObject数据,那么如果两 个函数都传递了数据,在接收消息时,我们应该取谁的数据呢? 在上一篇的代码中修改OtherLayer类,代码如下: 我们看到,在init中新建了一个CCString对象,作

上一篇文章中,我们利用addobserver来订阅消息,用postNotification来发布消息,但是有一

点要注意的是,addobserver和postNotification都可以传递一个CCObject数据,那么如果两

个函数都传递了数据,在接收消息时,我们应该取谁的数据呢?


在上一篇的代码中修改OtherLayer类,代码如下:


我们看到,在init中新建了一个CCString对象,作为addobserver函数中的参数

接着,在testMsg中就可以获取到CCString变量,我们用调试模式运行下,将看到以下日志输出:



再来看看postNotification如何传递数据,修改HelloWorldScene.cpp中的sendMsg函数即可:


调试模式下运行项目,可看见:


嗯,什么都没有。

因为,如果addobserver和postNotification函数都传递了数据,并且不是同一个数据,那将

无法发布消息。换句话说,我们只能使用其中一个函数进行数据的传递,我们把

addobserver函数的最后一个参数设为NulL.

再次用调试模式运行项目,可看到:


这代表postNotification的数据传递成功。

总结

以上是内存溢出为你收集整理的addObserver和postNotification函数传递函数区别全部内容,希望文章能够帮你解决addObserver和postNotification函数传递函数的区别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1045339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存