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運行需要的環(huán)境,所有的JavaScript執(zhí)行都需要一個JSContext, 所有的JSValue都被綁定到一個JSContext上.官方文檔

JSValue:JSValue對象是對JavaScript值的引用,可以使用JSValue轉換JavaScriptObjective-C類型(如將OCNSString類型轉換為JavaScript中的String類型),還可以使用JSValue創(chuàng)建被Objective-C包裝過的JavaScript對象.官方文檔

JSManagedValue:JavaScriptObjective-C的內存輔助管理對象,JavaScript的內存管理是垃圾回收機制,而Objective-C的內存管理是引用計數(shù)機制,如果二者相互引用就會導致循環(huán)引用造成內存泄露問題,JSManagedValue可以幫助垃圾回收機制和引用計數(shù)機制兩種內存管理方式之間進行切換.官方文檔

JSVirtualMachine:JavaScript運行的虛擬機,這個類的兩個主要作用是支持并發(fā)的JavaScript和管理JavaScriptObjective-C之間橋接的對象內存.官方文檔

JSExport:一個協(xié)議,將Objective-C類以及它的實例方法、類方法和屬性轉換為JavaScript代碼.官方文檔

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容