-
Notifications
You must be signed in to change notification settings - Fork 115
API文档_iOS OS X_Objective C_LSCFunction
vimfung edited this page Nov 12, 2018
·
2 revisions
lua中的function
是可以当作变量进行传递,而对于原生代码来说虽然函数指针和block类似lua中的function
,但是声明和使用方式存在很大的差异,不容易进行相互的转化。因此LSCFunction
就是为了这个目的诞生,它作为原生中的一种类型用于表示lua中的function
对象变量。
LSCFunction
> NSObject
由于该类型只接受从lua传递过来的function
对象变量,因此它不能直接进行对象初始化,当lua层传递function
到原生层时,会由框架自动创建LSCFunction
对象。
调用方法,在原生层中调用lua的方法。可以接收从原生代码传递给方法的参数,并将结果返回。其中方法的每个参数要求封装到一个LSCValue
对象中,并且添到一个NSArray
类型中传入给方法,数组的元素位置表示参数的顺序(下标0的元素表示方法第一个参数,下标1表示第二个参数,如此类推)。
- (LSCValue *)invokeWithArguments:(NSArray<LSCValue *> *)arguments;
- arguments: 所需参数先封装成
LSCValue
对象后放入NSArray对象中,再统一传入方法。