zoukankan      html  css  js  c++  java
  • OC和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
  • 相关阅读:
    uniapp 检测android 是否开启GPS功能
    uniapp 使用$emit、$once 跨页面传值,数据改变,页面却不刷新(原创)
    根据输入关键字过滤数组列表(列表搜索功能)
    学习函数指针的笔记
    学习C++中指针和引用的区别
    学习Iterator笔记
    HTML5基础
    java错题集
    幸运抽奖
    吃货联盟
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/7191936.html
Copyright © 2011-2022 走看看