lua中table引用问题

来源:互联网 发布:讲文明知礼仪例子 编辑:程序博客网 时间:2024/04/30 22:58

最近做了一个养成系统,今天发现一个bug。
大概是我在我的界面中引用(table) PlayerInfo。
每次打开界面时引用了一下,为了自己用起来放便。

m_playerInfo = PlayerInfo

然后突然发现每次切场景之后,界面中引用的m_playerInfo中的数据不会再更新了。
后来找到原因,是切场景之后被清空并重新赋值了。

PlayerInfo = {}

m_playerInfo引用的那个对象已经被回收了,重新new出来了一个。

总结:
1.以后尽量不要使用这种引用方式,因为lua中并没有野指针,出现这种问题不容易查到原因。
2.如果使用这种方式实现,注意要找清楚每个PlayerInfo的重新赋值,同时更新m_playerInfo

0 0
原创粉丝点击