YYKit-流畅的tableView,解析布局及数据处理

首先我们看下微博Demo的效果图

YYKitDemo--微博 效果图
文件结构

上图是微博Demo的文件目录结构,主要的文件是VC,layout布局文件,cell,model。其他的文件是项目中需要用到的工具,以后再详细说明。

上图  vc的结构

上图可以看到,vc的结构简单,页面就是一个tableview,其他的就是scrollView、tableView、和设置的cell的代理方法。

首先看一下VC有个YYFPSLabel,这个Label是可以看到tableView滑动时候的帧数,以后的文章会详细讲到。

数据处理

上图是vc里面的数据处理及页面刷新,这种处理方式是比较常见和常用的,耗时的方法加入到异步线程里面,Demo使用了WBStatusLayout这样的布局文件,这个类的作用就是计算每个数据在cell中的布局,比如图片的大小,文字的宽高,每个model、layout、cell是一一对应的。

layout中的部分代码

layout计算了各个控件的大小,包括cell的高度,我们知道tableView会频繁的调用heightForRowAtIndexPath方法计算cell的高度,Demo用异步线程计算好布局,再在主线程刷新UI,这样调用高度的时候直接取出来就行了,不需要再计算高度,保证tableView的流畅性。

cell的布局及高度计算


cell的代码

cell中的代码主要是各个UI组成的,包括一些交互和Delegete方法,根据塞进来的数据对UI进行布局。


model

最后,model里面的逻辑主要是model属性的映射。

你可能感兴趣的:(YYKit-流畅的tableView,解析布局及数据处理)