WebViewJavascriptBridge源码解析 -1
2017-11-05 14:04
375 查看
WebViewJavascriptBridge 强大实用的一款支持OC和JavaScript桥接的框架
有关他的实用网上非常多,这里不再赘叙。但是源码分析网上还是太杂了,我这里紧跟着源码一行行的进行分析吧。
我们进入WebViewJavascriptBridge类,可以看到:
其实,这个WebViewJavascriptBridgeBase才是内核所在,WebViewJavascriptBridge只是对他的使用层的一个封装而已,后面会分析。
看到这句:
- (void)registerHandler:(NSString *)handlerName handler:(WVJBHandler)handler {
_base.messageHandlers[handlerName] = [handler copy];
}
- (void)removeHandler:(NSString *)handlerName {
[_base.messageHandlers removeObjectForKey:handlerName];
}
这个handler是我们调用的时候的一个block:
就可以知道,原来,messageHandler是一个字典类型,用你传进来handerName作为key,用你传进来的block copy一份作为handler的object。
别的参考这位大神的分析:
http://www.jianshu.com/p/1d41f16f3bac
看了之后你会知道,其实最重要是集中在这三个地方:
1.Native和JS之间的交互(JS注入,JS回调等)
2.消息队列的分发和处理
3.序列化和反序列化
下一章节会分别阐述上面的几个内容。
有关他的实用网上非常多,这里不再赘叙。但是源码分析网上还是太杂了,我这里紧跟着源码一行行的进行分析吧。
我们进入WebViewJavascriptBridge类,可以看到:
其实,这个WebViewJavascriptBridgeBase才是内核所在,WebViewJavascriptBridge只是对他的使用层的一个封装而已,后面会分析。
看到这句:
- (void)registerHandler:(NSString *)handlerName handler:(WVJBHandler)handler {
_base.messageHandlers[handlerName] = [handler copy];
}
- (void)removeHandler:(NSString *)handlerName {
[_base.messageHandlers removeObjectForKey:handlerName];
}
这个handler是我们调用的时候的一个block:
就可以知道,原来,messageHandler是一个字典类型,用你传进来handerName作为key,用你传进来的block copy一份作为handler的object。
别的参考这位大神的分析:
http://www.jianshu.com/p/1d41f16f3bac
看了之后你会知道,其实最重要是集中在这三个地方:
1.Native和JS之间的交互(JS注入,JS回调等)
2.消息队列的分发和处理
3.序列化和反序列化
下一章节会分别阐述上面的几个内容。
相关文章推荐
- WebViewJavaScriptBridge源码解析(一)
- iOS WebViewJavascriptBridge源码解析
- WebViewJavascriptBridge工程结构和源码解析
- WebViewJavaScriptBridge源码解析
- iOS WebView JavascriptBridge 源码解析
- iOS源码解析—WebViewJavascriptBridge
- WebViewJavaScriptBridge的原理解析
- WebViewJavascriptBridge解析
- WebViewJavascriptBridge源码探究--看OC和JS交互过程(介绍了WebViewJavascriptBridge的实现过程)
- WebViewJavascriptBridge源码探究--看OC和JS交互过程
- WebViewJavascriptBridge源码解读
- WebViewJavascriptBridge解析
- WebViewJavascriptBridge 解析
- WebViewJavascriptBridge源码解读
- WebViewJavascriptBridge源码探究--看OC和JS交互过程
- WebViewJavascriptBridge机制解析
- WebViewJavascriptBridge源码分析
- WebViewJavascriptBridge的使用说明
- 通过WebViewJavascriptBridge实现OC与JS交互
- iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge