- JavaScript-ObjectC通信机制
- 通过各种手段,实现了在OC定义一个模块方法,
JS可以直接调用这个模块方法并还可以无缝衔接回调。
-
OC-->JS 传递方法:OCMODULE -->OC bridge模块ID,方法ID,参数-->JS bridge-->RCTSQLManger.query()
-
模块配置表
-
生成方式
- 1.取所有模块类
遍历是否实现了 RCTBridgeModule方法的类
-
2.取模块里暴露给JS的方法
加前缀RCTExport_的方法即为公开给js的方法
黑魔法__attribute__实现
- RCT_EXPORT
- OC调JS某些模块的方法时,
也是通过传递ModuleID和MethodID去调用的,
都会走到-enqueueJSCall:args:方法把两个ID和参数传给JS的
BatchedBridge.callFunctionReturnFlushedQueue
- 模块化,
模块配置表,
传递ID,
封装调用,
事件响应