我正在开发一个iOS代码库,该代码库具有一个保存JSContext的对象,并且还通过JSValue将对象添加到它自己的JSContext中:
JSValue *jsBridgedObject = [JSValue valueWithObject:self inContext:context];
context[@"Object"] = jsBridgedObject;
这似乎可以工作,因为valueWithObject
创建了对对象的强大引用,但是由于后来我无法从上下文中释放对象,这似乎也导致了保留周期。该怎么做?
答案 0 :(得分:0)
作为一个很晚的后续工作,我最终在JSContext所有者和JSContext之间创建了一个新类,就像一个桥梁。 JSContext捕获了网桥,该网桥从JavaScript代码接收回调并将其转发给所有者,后者是网桥的弱委托。