调用webView加载页面暂时先不说这边只讲方法之间的交互
1.JS调OC的方法
首先在父类中导入JS框架,创建webView,遵守协议方法


问题来了,就是怎么让JS中知道传过来的app中有什么方法呢

定义一个协议,继承JSExport,JSExport也是一个协议,但是什么东西都没有,这里我也不明白为啥继承了它就能调到方法了!(至于这里的方法命和作用,我们是用马克飞象写一个文档给前端)
注意:这里协议中方法的写法是很讲究的哦!

看图说话:
1.没参数没返回值的方法:直接用OC的写法
2.没参数但是有返回值的方法:直接用OC的写法
3.有返回值的方法:以下图中的写法
PropertyName:JS中调用带参数方法的名字
Selector:OC的方法全名

下图是JS中调用OC对应有参数的方法

这样只要在.m中写下方法实现就可以了,下面是截图的.h和.m的截图代码


2.OC调JS的方法
比如在封装webView类的子类中创建了一个button:

实现button的点击方法中调用JS的show()方法

对比下JS这边的代码就知道

调用JS方法,运行结果:

这里只是个例子,其实最后这个OC调 JS的方法也封装在父类中,到时候子类直接调就可以了。以上仅供参考还有更多不同情况根据需求处理
(更新中...)
网友评论