Objective C将数据发送到phonegap并调用javascript函数

时间:2014-09-15 14:21:47

标签: jquery ios objective-c cordova phonegap-plugins

我正在使用phonegap开发ios应用程序。因为它需要实现人脸识别,所以我也在这里使用本地语言objective-c。

在主要故事板中,我有两个视图控制器。一个叫做“FaceRec”,它完全是通过使用objective-c创建的。这里实现了面部识别功能。另一个是phonegap主视图控制器。它们通过使用Tab Bar Controller连接。

问题是当用户从Tab Bar Controller进入FaceRec页面并从服务器获得响应时。如果响应为真,我不知道如何将该响应从FaceRec发送到phonegap主视图控制器。因为它们在不同的视图控制器中,我也不知道如何从objective-c调用javascript函数。

我知道通过使用插件我可以从javascript调用objective-c方法并获得响应,但我想要的是通过不同的视图控制器将数据从objective-c发送到phonegap并调用javascript函数。

无论如何有任何想法?提前谢谢!

以下是index.html中的代码:

    <script type="text/javascript">

    function login()
    {
        $(function()
          {
            $.mobile.navigate( "#main", { transition : "slide", info: "info about the #bar hash" });
          });
    }

    </script>


 <div id="loginPage" data-role="page" data-theme="b">;
 <div id="main" data-role="page" data-theme="b">

1 个答案:

答案 0 :(得分:-1)

使用以下内容从Obj-C调用Javascript函数:

[self writeJavascript:@"YourJSFunction();"];

您还可以将任何内容作为字符串传递给JS

NSString *js = @"YourJSFunction('";
js = [js stringByAppendingString:yourData];
js = [js stringByAppendingString:@"');"];
[self writeJavascript:js];

yourData必须是字符串。您可以基本上将JSON Serialize几乎任何数组或字典串行化,然后将其传递给您的javascript函数。