微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TableView 优化之数据模型优化

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

参考文章如下:

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

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

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

动态类型 TableView 优化

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

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

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

最终效果如下:

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐