UITableview瘦身+组件化

看过轻量级ViewController采用的瘦身方法是将UITableViewDataSource抽离出来,但是这里Cell的绘制还是在ViewController里面,如果页面复杂还是会有很多Cell的Block残留。另外还有个问题就是,每次我新建一个ViewController时,都需要拷贝Cell的Block。我们能不能让ViewController容量减少的同时,又能让DataSource通用呢?


下面我们提出ComponentTableview,一种组件化的思路,我们把DataSource和Cell的绘制统一到一个Component(组件)里面,这样就可以达到ViewController瘦身+Component高复用。详细使用方法:

1. ViewController继承BaseAssemblyDispatcher类,重写components方法即可;例如:

2. 实现自己的中间件。首先继承BaseAssemblyComponent,其次在setupComponent方法里初始化数据源or接受外面传进来的数据源,然后调用系统绘制TableviewCell的方法。eg:


3、若想复用别人的中间件,仅仅只需要在UIViewController修改components方法;


Github地址:ComponentTableView

实例Demo:Demo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,277评论 1 23
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,586评论 7 249
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • 随着时间得推移我已要步入婚姻的殿堂。。脑子像电影一样快速的回忆我的二十三岁以前。已不知不觉泪流满面。订婚是结婚得第...
    小欣_812a阅读 234评论 2 2
  • 规则和自由在人们看来,是两个不同的概念,因为它是两个概念,人们就有了争执,有人认为生活中可以没有自由,但必须有...
    圆叶云霄阅读 311评论 0 1