我的问题应该很简单回答,但我似乎无法在Apple's documentation中找到任何内容
从我的JS代码我调用带有数组参数的Objective-C函数。 E.g:
ObjC.someFunction_([1,2,3]);
现在,在Objective-C中,我们有:
- (void)someFunction:(WebScriptObject*)arr
{
}
正如Apple所说。 (如果它是一个简单的字符串那么这是一个完全不同的 - 更简单的故事)。
问题是:如何将此WebScriptObject转换为NSArray
?
答案 0 :(得分:0)
只是想到一个工作正常的解决方法(虽然它仍然是解决方法):
在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];
}
在示意图中:
P.S。我敢肯定必须有更优雅的方法(通过几乎没有记录的JavaScriptCore
或许?),但这个方法仍然有效! ; - )