【发布时间】:2017-03-28 09:48:21
【问题描述】:
我在我的应用程序中使用JavascriptCore。现在,我将一些变量传递给JSContext,然后可以传递回Objective-C。但是,其中一个变量 NSDictionary 没有正确通过。我运行下面的代码:
var evaluate = function(variables) {
app.setDictionary(variables.dictionary);
}
这是一个简单的示例,在JSContext 中设置了以下方法。
这是setDictionary() 方法:
- (void)setDicationary:(NSDictionary *)dictionary {
self.mutableDictionary = [dictionary mutableCopy];
}
这是variables.dictionary:
- (NSDictionary *)dictionary {
return self.values;
}
我就是这样称呼evaluate():
JSValue *jsFunction = self.context[@"evaluate"];
JSValue *value = [jsFunction callWithArguments:@[self.variables]];
但是,在 setDictionary 方法中,我没有得到一个 NSDictionary,而是得到一个包含 [object Object] 的 NSString。
有什么办法可以解决这个问题吗?
【问题讨论】:
-
请在问题中添加对应的 Objective-C 代码。
-
@BorisVerebsky 我添加了它!
标签: javascript ios objective-c javascriptcore