как преобразовать аргумент массива из object_c в javascript?

Теперь я хочу преобразовать массив из object_c в javascript, так же как label1, label2, label3 ... в массив. Я использую этот метод:

WebScriptObject* win = [webview windowScriptObject];
NSMutableArray *nameArray; // in this have some file name : label1,label2...
[win callWebScriptMethod:@"transArray" withArguments:nameArray];

а затем в javascript я var массив и реализовать func:

var labelArray= []; // maybe var labelArray = new Array (%@);but it didn't work
function transArray(param)
{
    for(var i=0;i < param.length;i++)
    labelArray[i] = param[i];
}

то я обнаружил, что labelArray не похож на то, что я хочу. это как: labelArray[0] = l,labelArray[1] = a; labelArray[2] = b...... Я думал, может быть, я мог бы. var labelArray = new Array (%@)Но это не сработало. Я не знаю javascript четко, и если я могу преобразовать массив из object_c в javascript или нет, как это сделать? благодаря!


Теперь я нашел метод, который преобразует аргумент from object_c в Javascript. Но я не знал, как получить массив в javascript, я думал, может быть, мой метод был неправильным, но как получить массив и var массив, спасибо!

javascript,cocoa,

1

Ответов: 4


Теперь я нашел метод, который преобразует аргумент from object_c в Javascript. Но я не знал, как получить массив в javascript, я думал, может быть, мой метод был неправильным, но как получить массив и var массив, спасибо!

41
1 принят
id win = [webView windowScriptObject];

NSArray *args = [NSArray arrayWithObjects:
                    @"sample_graphic.jpg",
                    [NSNumber numberWithInt:320],
                    [NSNumber numberWithInt:240],
                    nil];

[win callWebScriptMethod:@"addImage"
            withArguments:args];

из руководства по программированию Objective-C WebKit


0

Вы можете заглянуть в кодирование / декодирование JSON. Это, безусловно, самый простой способ получить данные от и до javascript.

http://www.json.org/ имеет список доступных классов в нижней части главной страницы. Я почти уверен, что есть тот, который подойдет вашим потребностям.

Надеюсь это поможет!


0

ok Я нашел ответ: function addImage () {for (var i = 0; i


0

Вы должны ввести такой код:

[win callWebScriptMethod:@"transArray" withArguments:@[nameArray]];
JavaScript, какао,
Похожие вопросы