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初始化一下,则没这个问题了。。。什么原因不太清楚。。。(不过感觉是 setmetatable 方式, 这个self 其实存在了2份对象???,有时间再试验试验 打一下日志。)