Skip to content

API文档_iOS OS X_Objective C_LSCFunction

vimfung edited this page Nov 12, 2018 · 2 revisions

API文档 > 类目录 > LSCFunction

LSCFunction

Summary

lua中的function是可以当作变量进行传递,而对于原生代码来说虽然函数指针和block类似lua中的function,但是声明和使用方式存在很大的差异,不容易进行相互的转化。因此LSCFunction就是为了这个目的诞生,它作为原生中的一种类型用于表示lua中的function对象变量。

继承

LSCFunction > NSObject

Constructor

由于该类型只接受从lua传递过来的function对象变量,因此它不能直接进行对象初始化,当lua层传递function到原生层时,会由框架自动创建LSCFunction对象。

Instance Methods

invokeWithArguments:

调用方法,在原生层中调用lua的方法。可以接收从原生代码传递给方法的参数,并将结果返回。其中方法的每个参数要求封装到一个LSCValue对象中,并且添到一个NSArray类型中传入给方法,数组的元素位置表示参数的顺序(下标0的元素表示方法第一个参数,下标1表示第二个参数,如此类推)。

声明
- (LSCValue *)invokeWithArguments:(NSArray<LSCValue *> *)arguments;
参数
  • arguments: 所需参数先封装成LSCValue对象后放入NSArray对象中,再统一传入方法。
返回

方法的返回值会被封装在LSCValue对象中返回,可以通过LSCValue来取得返回值并作后续的操作。

Clone this wiki locally