iOS7 中的JavaScriptCore简单介绍
以前写过一篇介绍如何使用第三方库在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。
iOS7 中的JavaScriptCore简单介绍的更多相关文章
- c语言中函数的简单介绍
c语言中函数的介绍: 函数,简单的说就是代码的打包.存放在一个地方,当需要的时候调用. 函数分类: 1.无参无返回值函数 void func() 2.无参有返回值函数 int func() 3.有参 ...
- c# 中内部类的简单介绍 C#内部类
最近在看java一方面的书籍,看到一个很奇怪的问题,java类中还可以再定义一个类,这种结构非常特殊!后来才发现我知识浅薄了,原来C#中也有内部类,之前都一直没有注意过这个语法结构! 使用内部类有这样 ...
- Java中NIO的简单介绍
NIO基本介绍 Java NIO(New IO) 也有人称之为Java non-blocking IO 是从Java1.4版本开始引入的一个新的IO API,可以代替标准的IO API.NIO与原来的 ...
- java中数据流的简单介绍
java中的I/O操作主要是基于数据流进行操作的,数据流表示了字符或者字节的流动序列. java.io是数据流操作的主要软件包 java.nio是对块传输进行的支持 数据流基本概念 “流是磁盘或其它外 ...
- Hibernatne 缓存中二级缓存简单介绍
hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了. 二级缓存是Sessio ...
- sphinx中过滤的简单介绍
1.过滤字符串为空的一些记录的话,可以在sql_query中直接加上where来限制,如: sql_query = \ SELECT a.location_id as id,a.location_ ...
- php中$this->的用法简单介绍
php中我们一般是先声明一个类,然后用这个类去实例化对象!$this 的含义是表示实例化后的具体对象!$this->表示在类本身内部使用本类的属性或者方法.‘->’符号是“插入式解引用操作 ...
- Android中Fragment的简单介绍
Android是在Android 3.0 (API level 11)引入了Fragment的,中文翻译是片段或者成为碎片(个人理解),可以把Fragment当成Activity中的模块,这个模块有自 ...
- java 中的多线程简单介绍
package com.zxf.demo; /* * 多线程的实现方式两种? * 一..实现 runnable 接口 * 2.重写run方法 Run():当一个线程启动后,就会自动执行该方法 * 3. ...
随机推荐
- 搭建一个springMVC项目以及遇到的问题
首先找到jar包(lz现在还在学习maven,以后回了,就用maven了,自己配置时,jar包不全就很容易到时搭建失败)
- 【poj2891】 Strange Way to Express Integers
http://poj.org/problem?id=2891 (题目链接) 题意 求解线性同余方程组,不保证模数一定两两互质. Solotion 一般模线性方程组的求解,详情请见:中国剩余定理 细节 ...
- 【poj2234】 Matches Game
http://poj.org/problem?id=2234 (题目链接) 题意 经典取火柴游戏 Solution 裸的Nim游戏,也就是取石子. 整个游戏的sg值为每一堆火柴(子游戏)的异或和. 代 ...
- linux中防CC攻击两种实现方法(转)
CC攻击就是说攻击者利用服务器或代理服务器指向被攻击的主机,然后模仿DDOS,和伪装方法网站,这种CC主要是用来攻击页面的,导致系统性能用完而主机挂掉了,下面我们来看linux中防CC攻击方法. 什么 ...
- vector与set区别(基础知识)
首先,vector是序列式容器而set是关联式容器.set包含0个或多个不重复不排序的元素.也就是说set能够保证它里面所有的元素都是不重复的.另外对set容器进行插入时可以指定插入位置或者不指定插入 ...
- 锋利的jQuery-2--判断jQuery获取到的对象是否存在$().length
1.使用js获取不存在的对象: document.getElementById("tt").style.color = "red"; 如果网页中不存在id = ...
- [LeetCode] Copy List with Random Pointe
题目的关键是要让新链表和原有链表发送关联,可以通过这种关联来设置新链表的random pointer 思路:将新链表的元素插入到原有链表元素的后面,如下图所示,就可以根据原有链表的radom-> ...
- derby数据库ql语法
[数据库知识] 主键.唯一键包含索引 主键包含唯一键.索引.非空 唯一键包含索引,可空或非空 数据库需要与执行服务的在同个目录下 唯一键 create table app.tyu ( primaryk ...
- Linux中表示“时间”的结构体和相关函数
转载于:http://blog.chinaunix.net/uid-25909722-id-2827364.html Linux中表示“时间”的结构体和相关函数 2011-09-13 17: ...
- make -e install ,,,make命令的-e选项!
-e, --environment-overrides Environment variables override makefiles.环境变量覆盖Makefile文件. 用这个时,一般都自己编写s ...