如何将数组从object_c转换为javascript?

时间:2009-06-16 09:07:32

标签: javascript cocoa

现在我想将一个数组从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中我变换一个数组并实现一个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,怎么办?谢谢!


现在我找到了将object从object转换为Javascript的方法。但我不知道如何在javascript中获取数组,我想也许我的方法错了,但是如何获取数组和var数组,谢谢!

4 个答案:

答案 0 :(得分:1)

id win = [webView windowScriptObject];

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

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

来自WebKit Objective-C Programming Guide

答案 1 :(得分:0)

你可以看看JSON编码/解码。这是迄今为止我所知道的从javascript获取数据的最简单方法。

http://www.json.org/在主页底部有一个可用类列表。我很确定有一款能满足你的需求。

希望这有帮助!

答案 2 :(得分:0)

好的,我找到了答案: 函数addImage() {     for(var i = 0; i

答案 3 :(得分:0)

你应该像这样编码:

[win callWebScriptMethod:@"transArray" withArguments:@[nameArray]];