-
Notifications
You must be signed in to change notification settings - Fork 115
API文档_iOS OS X_Swift_LuaManagedValue
vimfung edited this page Nov 15, 2018
·
1 revision
该类型是为了使lua中的对象生命周期更加自然地融合到原生层中而设计。在Swift中所有对象都是自动管理对象的生命周期。而LuaContext
中所提供的retainValue(value:)
和releaseValue(value:)
方法在此模式下显得有些突兀,因此LuaManagedValue
的诞生就是为了让这种引用次数机制向Swift的内存管理模式靠拢。在需要引用的lua变量中,可以使用该类型实例化来持有变量,直到实例比销毁回收时,lua变量也会得到释放。
LuaManagedValue
> NSObject
通过指定要引用的值对象LuaValue
和指定的上下文对象来初始化一个LuaManagedValue
实例。实例一旦创建就会对LuaValue
所指定的值进行引用,直到实例销毁才将值进行释放操作。
init(source : LuaValue, context : LuaContext)
- source: 需要应用的值对象
- context: 上下文对象
新创建的LuaManagedValue
对象
被引用的值对象。LuaManagedValue
不是直接对原始值进行管理,而是对封装原始值的LuaValue
对象进行管理。可以通过这个属性来获取到原始的值。