将变量从Objective-C传递到javascript函数?

时间:2012-02-01 17:59:52

标签: javascript objective-c function variables

我有一个简单的javascript函数,它有两个变量。我需要将我在Objective-C(iOS)应用程序中已有的两个变量传递给这个javascript函数。我运行javascript的代码行是:

[webView stringByEvaluatingJavaScriptFromString:@"onScan()"];

javascript函数只是将两个变量应用于HTML表单并提交它。由于缺少变量,我当然在我的表单中未定义。 8-)我一直无法找到这方面的文件,但也许我在找错了地方?

FWIW,我的Objective-C变量是字符串。我的javascript函数是onscan(a,b)

更新

我能够通过在传递给javascript函数的每个变量周围放置单引号来实现此功能。更新的代码是:

[webView stringByEvaluatingJavaScriptFromString:@"onScan('%@','%@')",a,b];

1 个答案:

答案 0 :(得分:10)

stringByEvaluatingJavaScriptFromString:需要NSString,因此您所要做的就是使用stringWithFormat:%@对象格式化程序组合字符串,如下所示:

NSString *stringOne = @"first_parameter";
NSString *stringTwo = @"second_parameter";

NSString *javascriptString = [NSString stringWithFormat:@"onScan('%@','%@')", stringOne, stringTwo];

[webView stringByEvaluatingJavaScriptFromString:javascriptString];

查看Apple NSString的文档,这是一个非常有用的对象!