TableView 优化之数据模型优化

前端之家收集整理的这篇文章主要介绍了TableView 优化之数据模型优化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

每次写 TableView 都是又爱又恨,代码感觉总是很像,但细节不同又借鉴不了。究其原因就是代码没有真正规范和模块化。在参考了几篇文章后,我总结了一个范式,可以很大程度上对 TableView 的编写做到规范化。本文不仅是对 TableView 的总结,同时也是对协议、枚举等类型的使用探讨。

参考文章如下:

本文重点从数据模型角度进行优化,TableView 的数据模型分为三种情况:动态类型 cell(Dynamic Prototypes)、静态类型 cell(Static Cells)、动静态混合类型。

先看看优化后的总体模型结构图:

优化的关键在于配合协议和枚举对模型的合理设计,下面我们先看看动态类型:

动态类型 TableView 优化

我们接着上次的示例工程进行改写(上次教程 参见这里,Github 示例工程地址

在上次的示例工程中我们有一个展示书单的简单列表,下面我们将添加以下功能

1.从豆瓣获取我收藏的书籍
2.列表分为 3 个 Sectinon 展示:想看、在看、已看的书
3.在列表中交替展示两种类型的 Cell(即异构类型数据模型):书籍名称、书籍评分
4.书籍评分的详情页中,将包含动静态混合数据。

最终效果如下:

现在开始编码环节:功能1、2

  • 功能 1 需要我们发起网络请求,并解析返回数据为指定模型。这里我们使用 URLSession 发送请求,我们先添加两个协议:

猜你在找的Swift相关文章