如何将信息返回到Objective-C中的javascript函数?

时间:2012-04-05 18:39:37

标签: javascript iphone objective-c

假设我有一个带有一些javascript函数的UIWebView。我希望这些javascript函数能够从我的应用程序请求信息,我的应用程序应该返回它。我能够使用URL Schemes获取请求但是,我不知道如何将信息返回给javascript函数。

将一个javascript变量注入到UIWebView中,然后再次使用变量作为参数调用javascript函数,这是最好的方法吗?或者我可以使用UIWebView的方法吗?

2 个答案:

答案 0 :(得分:2)

通过stringByEvaluatingJavaScriptFromString注入Javascript绝对没问题。

通过webView:shouldStartLoadWithRequest:navigationType:

可以更好地处理其他方向

How to Properly Call ObjectiveC From Javascript(包括对JS的回调)详细描述了它,包含了来源。

使用Objective-C returnValue的示例JS代码:

NativeBridge.call("objCMethod", ["firstArgument"], function (returnValue) {
    if (returnValue) {
      // whatever
    } else {
      // whatever
    }
});

答案 1 :(得分:0)

使用异步通信。为Objective C例程提供Javascript函数,使用任何所需的回复参数回调到Javascript。 Javascript回调函数甚至可以是通过URL方案发送到Objective C代码的参数之一。