繁体   English   中英

将数组/对象从Javascript传递到Objective-C

[英]Pass array/object from Javascript to Objective-C

我的问题应该很容易回答,但是我似乎无法在Apple文档中找到任何内容

从我的JS代码中,我正在调用带有数组参数的Objective-C函数。 例如:

ObjC.someFunction_([1,2,3]);

现在在Objective-C中,我们有:

- (void)someFunction:(WebScriptObject*)arr
{

}

正如苹果建议的那样。 (如果它是一个简单的字符串,那将是完全不同的-而且更简单-故事)。

问题是:如何将这个WebScriptObject转换为NSArray

只是想到了一种可行的解决方法(尽管仍然是一种解决方法 ):

在JS中:

ObjC.someFunction_(JSON.stringify([1,2,3]));

在Objective-C中:

- (void)someFunction:(NSString*)arrStr
{
    NSArray* arr = [NSJSONSerialization JSONObjectWithData:[arrStr dataUsingEncoding:NSUTF8StringEncoding] 
                                                   options:kNilOptions 
                                                     error:nil];
}

在示意图中:

  • Javascript-> Json对象-> Objective-C-> Json对象

PS:我敢肯定,必须有更优雅的方法(也许通过很少记录的JavaScriptCore吗?),但是这种方法仍然有效! ;-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM