第三方库笔记
MJRefresh
MJRefreshHeader继承自MJRefreshComponent,实现了下面几个功能:
- 初始化。
- 设置Header的高度。
- 重新调整Y值。
- 根据contentOffset的变化,来切换状态(默认状态,可以刷新的状态,正在刷新的状态),实现方法是:scrollViewContentOffsetDidChange:。
- 在切换状态时,执行相应的操作。实现方法是:setState:。
SDWebImage
- 先把ImageView和下载任务operation关联起来
- 查找内存中有没有缓存
- 查找磁盘中有没有缓存
- 新建网络请求下载任务,如果对应ImageView还存在未完成的operation,说明是cell复用了,前一个下载任务还没完成,这时候需要删除这个任务,添加新任务
- 下载完后根据operation关联的ImageView设置Image
- Image保存到内存中和磁盘中以便下次缓存命中
YZDisplayViewController
- 先通过addChildController添加子控制器
- 使用collectionView作为ChildController的View的容器
- titleView是scrollView
AFNetworking
AFNetworking主要是对NSURLSession的封装,其中主要有以下类:
- AFHTTPSessionManager:内部封装是 NSURLSession, 负责发送网络请求,使用最多的一个类。
- AFNetworkReachabilityManager:实时监测网络状态的工具类。当前的网络环境发生改变之后,这个工具类就可以检测到。
- AFSecurityPolicy:网络安全的工具类, 主要是针对 HTTPS 服务。
- AFURLRequestSerialization:序列化工具类,基类。上传的数据转换成JSON格式。
- AFURLResponseSerialization:反序列化工具类;基类.使用比较多。
- **AFJSONResponseSerializer:**JSON解析器,默认的解析器。
- **AFHTTPResponseSerializer:**万能解析器; JSON和XML之外的数据类型,直接返回二进制数据.对服务器返回的数据不做任何处理。
- **AFXMLParserResponseSerializer:**XML解析器。