以前写过一篇介绍如何使用第三方库在ios上进行js和oc交互调用的文章,链接如下 iOS 使用UIWebView把oc代码和javascript相关联。当时建立项目时,仍然是ios6时代,所以没有原生的交互方法。但是在ios7中,我们有了JavaScriptCore!

JavaScriptCore的基本目的和以前的第三方库的基本目的一致,就是为了实现js和oc之间的相互调用。但是JavaScriptCore更为好用。首先调用js在也不依赖于uiwebview了。其次oc和js的交互逻辑变得简单了,以前你需要如下做:

This may sound like old news to you if you've already integrated native apps with web apps. Couldn't you do all of that before using a UIWebView?
You're absolutely right; in previous versions of iOS, you could pass a JavaScript string to your web view with the stringByEvaluatingJavaScriptFromString: message.
And if you wanted to run Objective-C from JavaScript, you could open a URL with a custom scheme (e.g. foo://) and handle it in the web view's delegate method webView:shouldStartLoadWithRequest:navigtionType.

这样做的后果就是你的代码逻辑会比价复杂,因为你需要自己实现一些JavaScriptCore中自动实现的功能。

关于JavaScriptCore的详细使用,请参看 iOS 7 by Tutorials。

最新文章

  1. LinqToDB 源码分析——DataContext类
  2. 你误解 .net 了吗?
  3. 禁用Win10显卡更新
  4. 北京地铁站点遍历最少经站次数问题普遍意义上是一个NP问题,目前不存在多项式时间算法能够解决该问题
  5. Deployment Pipeline using Docker, Jenkins, Java
  6. C#入门篇6-10:字符串操作 DateTime操作
  7. SPA初试-1
  8. [HTML]img标签属性
  9. eclipse for mac 快捷键
  10. radio的选中设置以及取值。
  11. js cookie 记住用户名密码
  12. VirtualDOM与diff(Vue实现)
  13. clique
  14. WithOne 实体关系引起 EF Core 自动删除数据
  15. ArrayList 和 LinkList 的区别
  16. Eclipse For JavaEE安装、配置、测试
  17. [android] 显示意图激活另外一个activity
  18. [UE4]Invalidation Box
  19. laravel 打印完整sql语句
  20. CentOS7系列--5.1CentOS7中配置和管理KVM

热门文章

  1. 【POJ 3020】Antenna Placement(二分图匹配)
  2. SSH配置文件和SSM配置文件的写法
  3. BZOJ-3130 费用流 (听题目胡扯丶裸最大流) 二分判定+最大流+实数精度乱搞
  4. codeforces 375D:Tree and Queries
  5. codevs3243 区间翻转
  6. Ubuntu安装VMware Tools的方法
  7. RedGate .NET Reflector注册问题(反注册)
  8. POJ2492 A Bug's Life
  9. Swift开发学习-03 Swift技巧
  10. Spring学习8- SSH需要的jar包