检测JavaScriptCore中C/Obj-C对JavaScript值的更改

检测JavaScriptCore中C/Obj-C对JavaScript值的更改,javascript,objective-c,cocoa,javascriptcore,Javascript,Objective C,Cocoa,Javascriptcore,是否有一种统一的方法来检测主机程序对JavaScriptCore中VM状态的更改?我目前正在使用新的Obj-capi,但如果标准webkitapi满足了我的需求,我不介意切换到标准webkitapi 理想情况下,我可以这样做: JSContext *ctx = [JSContext new]; [ctx registerMythicalChangeWatcher:aBlockOrDelegate]; [ctx evaluateScript:@"var deez = 'nuuuts'"]; //

是否有一种统一的方法来检测主机程序对JavaScriptCore中VM状态的更改?我目前正在使用新的Obj-capi,但如果标准webkitapi满足了我的需求,我不介意切换到标准webkitapi

理想情况下,我可以这样做:

JSContext *ctx = [JSContext new];
[ctx registerMythicalChangeWatcher:aBlockOrDelegate];
[ctx evaluateScript:@"var deez = 'nuuuts'"]; // aBlockOrDelegate is informed of changed to "deez"
目前,我能想到的最好的方法是在每次评估后,基本上都要在全局对象上行走,正如你所能想象的那样。。。次优:)

Obj-C接口没有我能找到的类引用,所以我一直依赖于检查标题,它似乎非常有限,所以我想如果可以做到,我将需要进入WebKit C API。不幸的是,我的google fu让我陷入了圈圈,或者是V8上的文档,或者是他们本周称之为Mozilla JS引擎的任何东西


任何帮助都将不胜感激

在纯JS中,您将如何做到这一点?基本上,您无法做到,无论如何也不能确定。但这似乎是从主机应用程序可以实现的。