美文网首页
oc直接执行js代码(不使用webview)

oc直接执行js代码(不使用webview)

作者: Gu_Liang | 来源:发表于2018-07-03 17:32 被阅读29次

    我们项目有个计算器类型的需求,前端已经用js代码写好了逻辑,app只需要调用js代码就可以了,但是页面并不是html。

    导入框架

    #import <JavaScriptCore/JavaScriptCore.h>

    1.首先需要把js代码转换成字符串注入到JSContext

    NSString *calcPath = [[NSBundle mainBundle] pathForResource:@"calc" ofType:@"js"];

        NSString *calcJS= [NSString stringWithContentsOfFile:calcPath encoding:NSUTF8StringEncoding error:nil];

        JSContext *context = [JSContext new];

        [contextevaluateScript:calcJS];

    2.这时就只需要调用js方法就好了

    JSValue *value = [context evaluateScript:@"calc.festMonth(2018-09)"];//js的调用方法

    或者

    JSValue*festMonth = context[@"calc"][@"festMonth"];//获取方法

    JSValue *value2 = [festMonth callWithArguments:@[@"2018-09"]];//调用方法 传参

    相关文章

      网友评论

          本文标题:oc直接执行js代码(不使用webview)

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