1. 程式人生 > >lua中table引用問題

lua中table引用問題

最近做了一個養成系統,今天發現一個bug。
大概是我在我的介面中引用(table) PlayerInfo。
每次開啟介面時引用了一下,為了自己用起來放便。

m_playerInfo = PlayerInfo

然後突然發現每次切場景之後,介面中引用的m_playerInfo中的資料不會再更新了。
後來找到原因,是切場景之後被清空並重新賦值了。

PlayerInfo = {}

m_playerInfo引用的那個物件已經被回收了,重新new出來了一個。

總結:
1.以後儘量不要使用這種引用方式,因為lua中並沒有野指標,出現這種問題不容易查到原因。
2.如果使用這種方式實現,注意要找清楚每個PlayerInfo的重新賦值,同時更新m_playerInfo