2013-04-23 2 views
0

Я хочу передать NSArray от Objective C по нажатию одной кнопки на JavaScript в. Как передать его? Я могу вызвать метод JavaScript с параметрами, но как мне это достичь?Передача NSArray от Objective C до Javascript

+0

Довольно трудно дать ответ, если мы не знаем, как вы используете Obj-C и JS вместе. UIWebView с некоторым пользовательским кодом? Запуск вашего собственного двигателя JS? –

+0

ya Я загружаю веб-просмотр на нажатие кнопки и вызывая javascript с помощью stringEvaluatingJavaScriptFromString – user2284897

+0

мой код на кнопке: – user2284897

ответ

0

Если массив содержит примитивные значения или строки, которые вы можете сделать следующее:

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

Если массив содержит некоторый другой тип, вы должны stringify каждый объект перед вызовом componentsJoinedByString.

+0

, тогда как я получу массив в javascript ?? – user2284897

+0

bt здесь значение будет передаваться как переменные ....... Я хочу напрямую передать массив и получить доступ к этому массиву в javascript – user2284897

+0

@FX здесь массив будет передан как строка для ex-jsFuncNAme (02, ertjkh, krtj) и i woll должны обрабатывать каждый элемент массива отдельно как переменную ... тогда как я хочу получить к нему доступ как массив в javascript – user2284897

1

Передайте массив в качестве параметра из Objective C в Javasctipt

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

расширение для вышеуказанного ответа: Здесь вы можете отправить строку в arrayformat. В скрипте Java вы можете получить строку. Если вы хотите преобразовать в качестве массива Следуйте инструкциям: // преобразование строки json в формат Array var jsonEle = JSON.parse (arrayOfJSONElements); –