Я хочу передать NSArray
от Objective C по нажатию одной кнопки на JavaScript в. Как передать его? Я могу вызвать метод JavaScript с параметрами, но как мне это достичь?Передача NSArray от Objective C до Javascript
ответ
Если массив содержит примитивные значения или строки, которые вы можете сделать следующее:
NSArray *objs;
NSString *arrayStr = [objs componentsJoinedByString:@","];
NSString *jsFunc = [NSString stringWithFormat:@"jsFuncName([%@])", arrayStr];
[webViev stringByEvaluatingJavaScriptFromString:jsFunc];
Если массив содержит некоторый другой тип, вы должны stringify каждый объект перед вызовом componentsJoinedByString
.
, тогда как я получу массив в javascript ?? – user2284897
bt здесь значение будет передаваться как переменные ....... Я хочу напрямую передать массив и получить доступ к этому массиву в javascript – user2284897
@FX здесь массив будет передан как строка для ex-jsFuncNAme (02, ertjkh, krtj) и i woll должны обрабатывать каждый элемент массива отдельно как переменную ... тогда как я хочу получить к нему доступ как массив в javascript – user2284897
Передайте массив в качестве параметра из Objective C в Javasctipt
NSString *arrayStr = [currentArray componentsJoinedByString:@"','"];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"initActivity(['%@'])", arrayStr ]];
расширение для вышеуказанного ответа: Здесь вы можете отправить строку в arrayformat. В скрипте Java вы можете получить строку. Если вы хотите преобразовать в качестве массива Следуйте инструкциям: // преобразование строки json в формат Array var jsonEle = JSON.parse (arrayOfJSONElements); –
Довольно трудно дать ответ, если мы не знаем, как вы используете Obj-C и JS вместе. UIWebView с некоторым пользовательским кодом? Запуск вашего собственного двигателя JS? –
ya Я загружаю веб-просмотр на нажатие кнопки и вызывая javascript с помощью stringEvaluatingJavaScriptFromString – user2284897
мой код на кнопке: – user2284897