Closed cissusnar closed 5 years ago
Class cls = objc_getClass("TwitterTableViewController"); id vc = [cls new]; [self.navigationController pushViewController:vc animated:NO];
@y138828 我问题的意思是需要作者提供一个友好的接口,至于这种写法大家都会写
这个库确实实现了OC访问Lua创建的类的特性,然而,却不实用。因为,OC编译的时候无法得知Lua创建了什么类,有什么方法。OC需要通过字符串来访问Lua的类,通过NSSelectorFromString来访问方法。我能想到的一个可能的用法是,OC先定义了一个protocol,Lua实现创建类实现这个protocal,这样OC那边的编程才能自然的使用。 或者,另外一个场景: 原本OC中定义的一个ViewController,它有一个UITableView的对象,原本ViewController是作为UITableView的代理人的,通过在Lua实现另外一个代理人类,并且通过替换方法,把UITableView的代理人方法替换成新的类对象。
看了一下example工程,似乎只有 lua call OC的路径,没有OC call lua class的路径,就是类似于:
lua:
OC: