Skip to content

API文档_iOS OS X_Swift_LuaFunction

vimfung edited this page Nov 15, 2018 · 1 revision

API文档 > 类目录 > LuaFunction

LuaFunction

Summary

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

继承

LuaFunction > NSObject

Constructor

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

Instance Methods

invoke(arguments:)

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

声明
func invoke (arguments : Array<LuaValue>) -> LuaValue
参数
  • arguments: 所需参数先封装成LuaValue对象后放入Array对象中,再统一传入方法。
返回

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

Clone this wiki locally