最新干货快速上手iOSOC与JS交互

北京医院皮肤病治疗 http://pf.39.net/bdfyy/bdfjc/180416/6171978.html

混合开发(iOS与H5)混编的重要性不言而喻,一个移动端开发的了解前端开发是一个趋向,总之每个人都向往成为一个全栈工程师,废话不多说,直接上主题JSContext非常方便,推荐使用,

1:创建一个NSObject名字为WCJSObject

一:WCJSObject.h继承WCJSObjectProtocol

WCJSObjectProtocol实现主要是用于H5页面调,方便调用写法如:本次介绍的主要是以goBack为例

WCJSObjectProtocol实现

添加一个block,H5调goBack方法后回调

property(nonatomic,copy)void(^goBackBlock)()

二:WCJSObject.m

实现方法-(void)goBack{

self.goBackBBlock();

}

2:在webview中监听js调取App的方法

a:首先导入头文件

#import“WCJSObject.h”

#importJavaScriptCore/JavaScriptCore.h

实例化一个contex

property(strong,nonatomic)JSContext*contex;

b:然后在webViewDidFinishLoad中实现如下:

//创建一个JSContext对象,通过webview获取到jscontext

self.contex=[webviewvalueForKeyPath:

documentView.webView.mainFrame.javaScriptContext];

//创建类对象

WCJSObject*jsObject=[WCJSObjectnew];

//实现回调jsObject.goBackBlock=^{//在这里实现返回的代码即可

};

c:最后将jsObject对象赋值给contex的listener中//重点:listener是和H5协商好的,只要一样就可以

self.contex[

listener]=jsObject;到这里,完成了所有的App端的业务代码!

下边介绍H5如何调,很简单

htmlhead//实现方法functiongoBack(){window.listener.goBack();//listener是和H5协商好的,只要一样就可以}/headbody//模拟一个按钮buttononclick=goBack()goBack/button/body/html

结束语:在正确的道路上用笨方法,只要坚持,你就会成功!如果您对这边文章有什么意见或者建议,请评论与我讨论如果你觉得还不错的话或者刚好帮到你~可以点个喜欢鼓励我哦如果你想和我一起学习,请毫不吝啬的私信我吧万水千山总是情,给个[爱心]


转载请注明:http://www.aierlanlan.com/rzgz/5657.html