iOS7之后苹果公司引入了JavaScriptCore.framework提供了更好的,快捷的,简单的js交互框架。但是iOS8之后苹果公司提供了WKWebView
以更好的交互,但是这个不支持
JavaScriptCore.framework框架的,以下是我学习的一点感悟与心得,如若写的不到位或者有不对的地方欢迎大家指出!现在咱们切入主题:
JavaScriptCore中类及协议:
JSContext:给JavaScript提供运行的上下文环境
JSValue:JavaScript和Objective-C数据和方法的桥梁
JSManagedValue:管理数据和方法的类
JSVirtualMachine:处理线程相关,使用较少
JSExport:这是一个协议,如果采用协议的方法交互,自己定义的协议必须遵守此协议
JavaScriptCore.framework交互有二种:1.oc调用js
2.js调用oc(这里也分二种:1.通过方法名赋给一个block调用方法2.通过一个自定义的类的对象来调用方法)
现在咱们先来看第一种:1.oc调用js
通过这个加载完成的代理方法来调用js代码或方法
此方法简单方便
2.js调用oc:先看第一种通过一个block直接调用
其中test1可以有参数也可以没有参数 然后我们就可以在block里面执行我们自己需要用到的方法
2.利用自定义一个类来调用oc方法 但前提必须遵循
JSExport协议
然后在加载完成的代理方法里面调用就可以了
代码下载:点击打开链接(demo里面的调用方法我是写一起的,都有明确的注释)