RemoveEventListener:nil键在属性查找中提供
2017-5-4 2:31:46
收藏:0
阅读:81
评论:1
我创建了一个组,并添加了下面的事件侦听器调用一个函数:
catinBalloon:addEventListener("touch", catinBalloontouch)
后来,我将两个对象插入到组 catinBalloon,并将组添加到表中:
table.insert(catandBalloonTable,#catandBalloonTable+1,catinBalloon)
作为另一个函数的一部分,我想循环访问表以删除侦听器事件:
for i=#catandBalloonTable,1,-1 do
print_r(catandBalloonTable[i])
catandBalloonTable[i]:removeEventListener("touch", catinBalloontouch)
end
在错误之前的 print_r 的输出是:
04:20:03.364 table: 0DACC088 {
04:20:03.364 [_proxy]=>userdata:0DAD20E0
04:20:03.364 [_functionListeners]=>table:0DACC088 {
04:20:03.364 [touch]=>table:0DADA0C0 {
04:20:03.364 [1]=>function:04080198
04:20:03.364 [2]=>function:0DA0E6E0
04:20:03.364 }
04:20:03.364 }
04:20:03.364 [activeObjectWord]=>“ant”
04:20:03.364 [_class]=>table:0DACC088 {
04:20:03.364 [removeEventListener]=>function:04245CE8
04:20:03.364 [addEventListener]=>function:04247968
04:20:03.364 [__index]=>table:0425AE40 {
04:20:03.364 *table:0425AE40
04:20:03.364 }
04:20:03.364 }
04:20:03.364 [removeSelf]=>function:0433B9B8
04:20:03.364 [active]=>“yes”
04:20:03.364 [activeObjectSound]=>userdata:0A0CAAE0
04:20:03.364 }
错误是:
04:20:03.364 错误:nil键提供了属性查找。
04:20:03.364 堆栈回溯:
04:20:03.364 [C]:?
04:20:03.364 ?:在函数'removeEventListener'中
04:20:03.364 ?:在函数'removeEventListener'中
04:20:03.364 ?:在函数'removeEventListener'中
谢谢。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

当你提供的处理函数(
catinBalloontouch)在这个作用域中不存在时,会出现该错误。一种解决问题的方法是使用前向引用。-- 文件顶部 local catinBalloontouch ... function catinBalloontouch( event ) -- 现在你不需要使用关键字 local ... end ... for i = #catandBalloonTable, 1, -1 do print_r(catandBalloonTable[i]) catandBalloonTable[i]:removeEventListener( "touch", catinBalloontouch) end