Я думаю,
var arr=newArray();
arr='inp';
должно быть
var arr = new Array();
arr[0] = inp;
, которое устанавливает нулевой элемент массива в строку 'inp'
или
var arr = [inp];
который использует сокращенный синтаксис массива или даже
var arr = new Array();
arr.push('inp');
, который использует Array
push
метод для добавления входного параметра, inp
, в конец массива.
newArray
, вероятно, просто приведет к ошибке, подобной newArray is not defined
, а arr='inp'
заменит массив строкой вместо помещения строки в массив.
EDIT:
[NSString stringWithFormat:@"javafunction('%@');",json]
это, вероятно, не то, что вы хотите.Если json
является строкой в кодировке JSON, вы, вероятно, захотите удалить одинарные кавычки.Если это не JSON-кодированная строка, то, вероятно, вы захотите JSON-кодировать ее.
Это может быть незначительной проблемой, но вы также должны знать, что не все строки JSON являются допустимыми выражениями JavaScript, поскольку JSONразрешает кодовые точки Юникода U + 2028 и U + 2029 в строках, но эта кодовая точка является новой строкой в JavaScript.Т.е. JavaScript-выражение eval(JSON.stringify("\u2028"))
не выполняется с исключением.