您的位置:首页 > 移动开发 > Unity3D

unity里, lua 面向对象方式,成员对象有可能残留的问题。

2018-02-10 16:44 330 查看
TaskItemUI = {
name = nil,
content = nil,
schedule = nil,
schedulebg = nil,
targetObj = nil,
taskData = nil,
curAimId = nil,
equipIcon = nil,
selectImage = nil,
--任务状态改变tips
taskChangeTisp = "",
--进度特效播放中
effecting = false,
        test_table = {}
}

function TaskItemUI:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self;
return o
end
function TaskItemUI:checkAndAdd()
     if #self.test_table == 0 then
         table.insert(self.test_table,"dfafa")
     end
end

function TaskItemUI:OnDestroy()  --其他地方调释放
    self.test_table = {}

end

结果切换场景时, 对象释放后,test_table 按理应该清空了。  再次加载时 function TaskItemUI:checkAndAdd() 里结果长度不是 0  有残留。   
如果写个初始化函数 用self初始化一下,则没这个问题了。。。

function TaskItemUI:checkAndAdd()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐