从零搭建通用项目-扩展框架
上篇介绍了基础框架的搭建,这篇介绍下支持快速开发所需要的扩展框架都需要哪些。
我大致分为三类:
- 视图类
- 网络类
- 功能类
视图类
基础样式扩展:
TabBarController扩展ESTabBarController
其他视图扩展按照需求去找类似的开源框架
自动布局:
Objective-C用Masonry,Swift用Snap,这个应该是用的最多的代码自动布局框架。
专用视图扩展:
HUD的扩展,OC中用的最多的就是MBProgressHUD这个框架,也有很多其他类型的,找个适合当前项目的。
网络类
网络请求:
AFNetworking,这个应该是必备的,先封装网络请求,在根据当前业务再次封装适合当前项目使用的方法。
网络图片缓存:
SDWebImage,这个就直接集成在项目中,不需要在进行封装,使用时直接调用。
功能类:
数据处理:
JSON序列化,这个有很多种选择,我选择的是MJExtension,他支持混合类型的序列化,比较符合我的需求。
页面扩展:
MJRefresh,下拉刷新,这个也是几乎必备
功能扩展:
这里我推荐BlocksKit,这个只能用于OC,比较遗憾。这个框架封装了大部分系统原生的代理和通知,用block的形式来代替代理和通知。前期开发中这个绝对是省时省力的利器。