Skip to content

API文档_iOS OS X_Swift_LuaPointer

vimfung edited this page Nov 15, 2018 · 1 revision

API文档 > 类目录 > LuaPointer

LuaPointer

Summary

lua中的light userdata是一种可以指向原生对象的变量。它不负责变量内存的管理,使用单纯的指针引用。在LSC框架的原生代码中将此种变量视作一种数据类型并定义为LuaPointer。该类型目的是将原生各种对象指针进行封装并转换为light userdata

继承

LuaPointer > NSObject

Constructor

init(userdata:)

通过传入一个LSCUserdataRef结构来初始化LuaPointer对象。其中LSCUserdataRef为结构体,用于表示lua种的userdata数据类型, 该构造方法的作用是让light userdata变量引用lua的另外一个userdata变量。

声明
init(userdata:LSCUserdataRef)
参数
  • ref: userdata数据结构,如果使用该结构体包含一个导出类型对象的指针,则在lua层也会对应地指向所引用的导出类型。
返回值

新创建的LuaPointer对象


init(ptr:)

通过传入一个指针类型来初始化LuaPointer对象。

声明
init(ptr:UnsafeRawPointer)
参数
  • ptr: 变量指针。如果指针所指向的是一个导出类型,则lua层会对应指向所引用的导出类型;如果指向非导出类型,则被视作一个userdata变量。
返回值

新创建的LuaPointer对象

Instance Methods

value

用于返回包含的指针变量的LSCUserdataRef结构体。需要注意的是,通过init(ptr:)初始化传入指针会被封装到LSCUserdataRef结构中,所以,该方法并非只有通过init(userdata:)初始化对象才能调用。

声明
func value() -> LSCUserdataRef
返回值

包含指针的LSCUserdataRef结构

Clone this wiki locally