封装技巧
来源:互联网 发布:mac系统怎么安装ps 编辑:程序博客网 时间:2024/05/18 02:11
https://github.com/wangyangcc/IMYWebView
参考了这个统一UIWebView 和 WKWebview的方式,封装得非常好:
大体的思想如下:
而具体实现的代码:
- (void)callback_webViewDidFinishLoad{ if ([self.delegate respondsToSelector:@selector(webViewDidFinishLoad:)]) { [self.delegate webViewDidFinishLoad:self]; }}- (void)callback_webViewDidStartLoad{ if ([self.delegate respondsToSelector:@selector(webViewDidStartLoad:)]) { [self.delegate webViewDidStartLoad:self]; }}- (void)callback_webViewDidFailLoadWithError:(NSError*)error{ if ([self.delegate respondsToSelector:@selector(webView:didFailLoadWithError:)]) { [self.delegate webView:self didFailLoadWithError:error]; }}- (BOOL)callback_webViewShouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(NSInteger)navigationType{ BOOL resultBOOL = YES; if ([self.delegate respondsToSelector:@selector(webView:shouldStartLoadWithRequest:navigationType:)]) { if (navigationType == -1) { navigationType = UIWebViewNavigationTypeOther; } resultBOOL = [self.delegate webView:self shouldStartLoadWithRequest:request navigationType:navigationType]; } return resultBOOL;}
反射加代理,就可以很好的实现了
还有适当重写一下response方法也是非常实用的:
还有一些直接改写函数和用KVC来绑定属性和成员变量的也可以参考一下
0 0
- 封装技巧
- 编程技巧 - 封装技巧 - 1
- 编程技巧 - 封装技巧 - 2
- WebService封装技巧
- 多线程调用的封装技巧
- 编程小技巧之封装
- iOS项目技巧+封装过程
- 总结WebService的一些封装技巧
- 对WebService的一些封装技巧总结
- 总结WebService的一些封装技巧
- Android技巧之封装Log工具类
- 一句话技巧之: String 快速封装为 ByteBuffer ( Java )
- JavaScript设计模式的一种有趣的封装小技巧
- 在allegro中进行更换元件封装技巧应用
- PADS小技巧还可以这样筛选元件封装*0603*
- Android开发技巧——PagerAdapter实现类的封装
- Android开发技巧——PagerAdapter实现类的封装
- Android开发技巧——PagerAdapter的再次简单封装
- Nginx+Tomcat搭建负载均衡集群
- Windows编程入门程序详解
- ZOJ1610Count the Colors(线段树成段更新染色)
- 学习记录
- 用jquery ajax实现提交form
- 封装技巧
- Python导入Excel、csv文件进oracle数据库
- lua reload lua脚步重启热更
- Oracle笔记--lag和lead分析函数
- php中static 静态变量和普通变量的区别
- 微信小程序 解析单图上传安卓手机上传失败和wx.request上传失败问题
- 大厅安排(normal)
- jquery实现搜索框历史搜索记录功能
- 《Android开发艺术探索》——View事件分发机制