2013-04-23 118 views
0

我想通过NSArray目标C在按钮的点击到JavaScript。我如何通过它?我可以通过参数调用JavaScript方法,但我该如何实现?将NSArray从Objective C传递到Javascript

+0

漂亮很难给出一个答案,如果我们不知道你是如何使用的OBJ-C和JS在一起。 UIWebView与一些自定义代码?运行你自己的JS引擎? – 2013-04-23 09:58:50

+0

你好我加载web按钮的点击和调用JavaScript使用stringEvaluatingJavaScriptFromString – user2284897 2013-04-23 10:09:27

+0

我的代码按钮的点击是: – user2284897 2013-04-23 10:09:47

回答

0

如果阵列中包含的原始值或字符串,你可以做到以下几点:

NSArray *objs; 
NSString *arrayStr = [objs componentsJoinedByString:@","]; 
NSString *jsFunc = [NSString stringWithFormat:@"jsFuncName([%@])", arrayStr]; 
[webViev stringByEvaluatingJavaScriptFromString:jsFunc]; 

如果阵列包含一些其他类型的,你需要在调用componentsJoinedByString之前字符串化的每个对象。

+0

然后我将如何在javascript中接收数组? – user2284897 2013-04-23 10:20:13

+0

bt这里的值将被作为变量传递.......我想直接传递数组并访问该数组在javascript – user2284897 2013-04-23 10:21:28

+0

@FX在这里数组将作为字符串传递给ex-jsFuncNAme(02,ertjkh, krtj),我必须处理每个元素的数组作为变量...而我想访问它作为一个数组在javascript中 – user2284897 2013-04-23 10:26:41

1

传递数组从目标C参数来Javasctipt

NSString *arrayStr = [currentArray componentsJoinedByString:@"','"]; 
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"initActivity(['%@'])", arrayStr ]]; 
+0

扩展为以上答案: 在这里你可以发送一个字符串在arrayformat。 在Java脚本中,您可以检索字符串。 如果你想转换为数组 请按照下列步骤操作: //将json字符串转换为数组格式 var jsonEle = JSON.parse(arrayOfJSONElements); – 2015-02-09 07:47:13