TableView 优化之数据模型优化

TableView 优化之数据模型优化,第1张

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

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

参考文章如下:

面向协议的 MVVM 架构介绍 Dealing with Complex Table Views in iOS and Keeping Your Sanity 【译】处理 iOS 中复杂的 Table Views 并保持优雅

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

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

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

动态类型 tableVIEw 优化

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

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

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

最终效果如下:

现在开始编码环节:功能1、2 功能 1 需要我们发起网络请求,并解析返回数据为指定模型。这里我们使用 URLSession 发送请求,我们先添加两个协议:

总结

以上是内存溢出为你收集整理的TableView 优化之数据模型优化全部内容,希望文章能够帮你解决TableView 优化之数据模型优化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1056647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存