每次写 TableView 都是又爱又恨,代码感觉总是很像,但细节不同又借鉴不了。究其原因就是代码没有真正规范和模块化。在参考了几篇文章后,我总结了一个范式,可以很大程度上对 TableView 的编写做到规范化。本文不仅是对 TableView 的总结,同时也是对协议、枚举等类型的使用探讨。
参考文章如下:
本文重点从数据模型角度进行优化,TableView 的数据模型分为三种情况:动态类型 cell(Dynamic Prototypes
)、静态类型 cell(Static Cells
)、动静态混合类型。
先看看优化后的总体模型结构图:
优化的关键在于配合协议和枚举对模型的合理设计,下面我们先看看动态类型:
动态类型 TableView 优化
我们接着上次的示例工程进行改写(上次教程 参见这里,Github 示例工程地址)
在上次的示例工程中我们有一个展示书单的简单列表,下面我们将添加以下功能:
1.从豆瓣获取我收藏的书籍
2.列表分为 3 个 Sectinon 展示:想看、在看、已看的书
3.在列表中交替展示两种类型的 Cell(即异构类型数据模型):书籍名称、书籍评分
4.书籍评分的详情页中,将包含动静态混合数据。
最终效果如下: