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属性的映射。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容