OC与JS交互之JavaScriptCore

苹果在iOS7推出的JavaScriptCore框架可以方便的完成OCJS之间的交互,本篇文章主要研究一下JavaScriptCore框架的使用.

总是要来张图片的

JavaScriptCore.h文件中,包含下列五个头文件.

#import "JSContext.h"
#import "JSValue.h"
#import "JSManagedValue.h"
#import "JSVirtualMachine.h"
#import "JSExport.h"

JSContext:JavaScript运行需要的环境,所有的JavaScript执行都需要一个JSContext, 所有的JSValue都被绑定到一个JSContext上.官方文档

JSValue:JSValue对象是对JavaScript值的引用,可以使用JSValue转换JavaScriptObjective-C类型(如将OCNSString类型转换为JavaScript中的String类型),还可以使用JSValue创建被Objective-C包装过的JavaScript对象.官方文档

JSManagedValue:JavaScriptObjective-C的内存辅助管理对象,JavaScript的内存管理是垃圾回收机制,而Objective-C的内存管理是引用计数机制,如果二者相互引用就会导致循环引用造成内存泄露问题,JSManagedValue可以帮助垃圾回收机制和引用计数机制两种内存管理方式之间进行切换.官方文档

JSVirtualMachine:JavaScript运行的虚拟机,这个类的两个主要作用是支持并发的JavaScript和管理JavaScriptObjective-C之间桥接的对象内存.官方文档

JSExport:一个协议,将Objective-C类以及它的实例方法、类方法和属性转换为JavaScript代码.官方文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容