看到头文件中,APIWebView派生自UIWebView,看到这篇帖子中官方人员给予的答复是,APIWebView又不支持单独使用,那APIWebView与UIWebView有什么区别呢?
看到有APIWebViewDelegate却又不是直接设置给APIWebView的,而是给APIManager使用的,如果想设置APIWebView的代理事件,也是需要APIManager做集中式的代理,这么做是为什么?
下面是个人理解:
(1)看到APIWebView头文件中包含了一些属性,用于记录所属的Container以及页面的name;
(2)提供了一个接口:- (void)sendResultWithCallbackNSInteger)callback retNSDictionary *)ret errNSDictionary *)err deleteBOOL)delete;来支持给JS发送消息;
(3)打印了APIWebView的方法列表如下:
'APIWebView' has method named 'widgetContainer' 'APIWebView' has method named 'windowContainer' 'APIWebView' has method named 'webViewType' 'APIWebView' has method named 'winName' 'APIWebView' has method named 'sendResultWithCallback:ret:err:delete:' 'APIWebView' has method named 'accessNative:' 'APIWebView' has method named 'name' 'APIWebView' has method named 'webView:didFailLoadWithError:' 'APIWebView' has method named 'webView:shouldStartLoadWithRequest:navigationType:' 'APIWebView' has method named 'webViewDidStartLoad:' 'APIWebView' has method named 'webViewDidFinishLoad:' 'APIWebView' has method named 'execute:' 方法不多,与webview代理相关的方法,应该是为了与APIManager进行通信; sendResultWithCallback:ret:err:delete这个应该是用来与js进行通信(通过evaluate string的方式) 我的理解区别就是这么多,不知道还有什么区别,期待官方的解释。
|