美文网首页
OC和JS代码的互调

OC和JS代码的互调

作者: sky_kYU | 来源:发表于2016-07-06 20:41 被阅读37次

Html决定网页的内容,css决定网页的样式,js决定网页的事件

01 OC调用JS的代码 
    NSString *str = [self.webView stringByEvaluatingJavaScriptFromString:@"sum()"];

02 JS怎么调用OC的说明 
    新的需求:点击按钮的时候拨打电话
    但是我在点击按钮的时候,用户是不知道的,我们怎么能够知道用户点击了网页上面的一个按钮,只能通过一个技巧,那就是自己搞一个特定的协议头比如说xmg://,当我拦截到你的网络请求的时候,只需要判断一下当前的协议头是不是这个就能判断你现在是否是JS调用。 OC里面有通过字符串生成SEL类型的方法,所以当拿到数据之后做下面的事情 
          1)截取方法的名称 
          2)将截取出来的字符串转换为SEL 
          3)利用performSelect方法来调用SEL

03 涉及到的相关方法
       [@"abc" hasPrefix:@"A"] //判断字符串是否以一个固定的字符开头,这里为A 
      //截串操作 
      - (NSString *)substringFromIndex:(NSUInteger)from; 
      //切割字符串,返回一个数组 
      - (NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator;
      //替换操作 
      - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
      //把string包装成SEL 
      SEL selector = NSSelectorFromString(sel);

04 如何屏蔽警告 
    #pragma clang diagnostic push 
    #pragma clang diagnostic ignored "-Warc-performSelector-leaks" 
        //-Warc-performSelector-leaks为唯一的警告标识
        [self performSelector:selector withObject:nil]; 
    #pragma clang diagnostic pop

相关文章

  • iOS开发-UIWebView

    一、WebView的基本使用 二、OC和JS代码的互调

  • JS与OC交互

    iOS js oc相互调用(JavaScriptCore) iOS js oc相互调用(JavaScriptCor...

  • WebView的基本使用

    WebView的基本使用 8 HTML 9 OC和JS代码的互调 10 NSInvocation的基本使用 11 ...

  • OC和JS代码的互调

    Html决定网页的内容,css决定网页的样式,js决定网页的事件

  • OC与JS的相互调用

    JS 和 OC 的简单相互调用,基于纯 JS 文件,不使用 webView 这里仅列出测试代码,详情请移步 dem...

  • iOS与Safari联调

    iOS开发中,难免遇到与JS互调的情形,运用xcode只能看OC部分的代码,无法查看或者调试js端代码。此时Saf...

  • JS与原生OC/Swift相互调用总结

    JS和OC/Swift相互调用,主要总结了JS和OC交互的三种方式1.使用UIWebView,利用JavaScri...

  • cocos creator和Objective-C互调用

    本文为ios开发环境下js和obc相互调用的例子。 一 、js调用oc js oc建一个AdMaster文件,继承...

  • OC 和 js 互调

    OC 调 js: http://blog.csdn.net/lwjok2007/article/details/...

  • JS和OC互调

    本文使用了第三方框架:WebViewJavascriptBridge.h 一、obj-c调用javascript的...

网友评论

      本文标题:OC和JS代码的互调

      本文链接:https://www.haomeiwen.com/subject/npwkjttx.html