【发布时间】:2014-10-05 22:43:12
【问题描述】:
我正在尝试利用 JSExport 协议通过 JavascriptCore 将 Javascript 函数对象发送到 Objective-C。我有一个在 Objective-C 中声明的函数,符合 JSExport 如下:
(class View)
+ (void) newWithFunc:(id)func
{
NSLog(@" %@ ", func);
}
在声明了这个类之后,我尝试调用上面的函数,以一个Javascript函数对象作为参数
JSValue *val;
val = [context evaluateScript:@"var mufunc = function() { self.value = 10; };"];
val = [context evaluateScript:@"mufunc;"];
NSLog(@" %@", val); //Prints as 'function() { self.value = 10; }', seems correct.
val = [context evaluateScript:@"var view = View.newWithFunc(mufunc);"];
最后一次调用时,发送到我的 Objective-C 方法的参数是“NSDictionary”类型,如果我想做的是从 Objective-C 调用该函数稍后的时间点。 JavascriptCore 可以做到这一点吗?
【问题讨论】:
标签: ios objective-c javascriptcore