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()
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()
相关文章推荐
- Java面向对象方式(观察者模式)解决菲波拉契数列问题(兔子三岁后就可以生小兔子)
- unity lua C# 这边 new 了一个GameObject 对象并发给Lua那边, 这时C# 这边在通过GC释放掉这个对象;lua 那边会报错;遇到这种问题的解决方案
- 面向对象的设计方式处理Android编程中的GridView问题,以及自定义ListAdapter的使用
- 面向过程,面向对象,函数式对同一个问题的思考方式
- 面向对象方式解决比赛名单类问题(Java实现)
- 面向过程,面向对象,函数式对同一个问题的思考方式
- JAVA面向对象-----成员内部类的访问方式
- Lua的面向对象实现方式
- JAVA面向对象-----成员内部类的访问方式
- lua面向对象
- C++中 没有数据成员的类的对象所占的内存空间大小问题
- 面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】
- 访问对象的公有成员函数的不同方式
- JavaScript 面向对象编写方式
- 面向过程和面向对象思维方式的区别?为什么需要面向对象编程?
- 未将对象引用设置到对象的实例--可能出现的问题总结
- 农场一头小母牛,每年生头小母牛,母牛5岁产母牛,20年上多少牛?--java面向对象方式实现
- Lua面向对象
- C语言中结构体偏移及结构体成员变量访问方式的问题讨论
- Lua 面向对象实现