iOS js oc相互调用(JavaScriptCore)(二)

  • Post author:
  • Post category:java


上节地址 http://blog.csdn.net/lwjok2007/article/details/47058101

接着上节我们讲到的iOS调用js

下来我们使用js调用iOS

js调用iOS分两种情况

一,js里面直接调用方法

二,js里面通过对象调用方法

首先我们看第一种,直接调用方法。

其中用到了iOS的block

上代码

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    //网页加载完成调用此方法
    
    //iOS调用js
    
    //首先创建JSContext 对象(此处通过当前webView的键获取到jscontext)
    JSContext *context=[webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
  
    //js调用iOS
    //第一种情况
    //其中test1就是js的方法名称,赋给是一个block 里面是iOS代码
    //此方法最终将打印出所有接收到的参数,js参数是不固定的 我们测试一下就知道
    context[@"test1"] = ^() {
        NSArray *args = [JSContext currentArguments];
        for (id obj in args) {
            NSLog(@"%@",obj);
        }
    };
    //此处我们没有写后台(但是前面我们已经知道iOS是可以调用js



版权声明:本文为lwjok2007原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。