Skip to content

API文档_iOS OS X_Objective C_LSCPointer

vimfung edited this page Nov 12, 2018 · 2 revisions

API文档 > 类目录 > LSCPointer

LSCPointer

Summary

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

继承

LSCPointer > NSObject

Constructor

initWithUserdata:

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

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

新创建的LSCPointer对象


initWithPtr:

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

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

新创建的LSCPointer对象

Instance Methods

value

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

声明
- (const LSCUserdataRef)value;
返回值

包含指针的LSCUserdataRef结构

Clone this wiki locally