lua中table引用问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24459491/article/details/53027304

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

m_playerInfo = PlayerInfo

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

PlayerInfo = {}

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

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

猜你喜欢

转载自blog.csdn.net/qq_24459491/article/details/53027304