2013-04-23 117 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