2
我正在使用JavaScriptCore來評估我的應用中的一些簡單腳本。我創建一個全局對象,並對其定義,像這樣的一些屬性:如何在Obj-C中用回調定義一個Javascript函數?
JSContext *context = [[JSContext alloc] init];
JSValue *globalObject = [context globalObject];
[globalObject setValue:fields forProperty:@"fields"];
...
所以那麼該腳本可以訪問值fields
等。我希望腳本能夠使用一個名爲lookup
的函數,並且我已經有了這個函數的Objective-C實現。
如何向全局對象添加一個屬性,該對象是一個回調我的Objective-C方法的函數?我看到有一個叫做JSObjectMakeFunctionWithCallback
的函數,但是它使用低級C結構(如JSObjectRef
),並且採用C函數,而不是Objective-C塊,所以我不能在實現中使用self
。