gpt4 book ai didi

ios - 分页引擎架构 - iOS

转载 作者:行者123 更新时间:2023-11-29 01:07:28 24 4
gpt4 key购买 nike

创建分页引擎架构的最佳方式是什么?

在我之前的实现中,我会

- UIViewController
- property UITableView
- with two sections in tableView. One for normal display and other
- for PaginationCell
- and rest of the business logic how to enable and hide indicator View

我们认为每个功能的重复代码太多,因此决定删除重复代码。

我们在 UIViewController 上写了一个类来处理数据分页。现在我们使用 scrollViewDidScroll 处理类别内的所有计算,并使用 objc_setAssociatedObject 添加指标页脚 View 。

我相信 关联对象 应该被视为不得已的方法,而不是寻找问题的解决方案(实际上,类别本身不应该位于工具链的顶部开始)。

所以我的问题是 - 这个新设计是解决问题的最佳方案吗?或者您会推荐一些更好的方法吗?

最佳答案

我不明白您不想要的重复代码到底是什么,但我根本不认为使用类别是解决此问题的好方法。

我可以建议的是拥有一个具有分离职责的良好架构。这将引导您找到解决方案。

如果对你有帮助可以看看我的文章Anatomy of a TableView(Controller) Architecture和一个特定于 Interaction Objects 的.您可以将交互对象想象成包含细胞所需的所有信息的盒子,例如:

  • 我应该展示什么?
  • 我应该使用哪种电池?
  • 如果用户选择此单元格(目标、选择器、..),我必须做什么?等

一般来说,遵循所描述的方法,在大多数情况下您应该不会感到卡在前面。

;)

对于分页,我会创建一个管理器,它是 TableView Controller 的依赖项。想法是:

  1. 用户tableView上做了一些事情;
  2. tableView 的委托(delegate)(通过交互对象、委托(delegate)或 block )将事件传递给 View Controller
  3. View Controller ,向分页管理器询问新参数;
  4. View Controller 将新参数传递给tableView的数据源并重新加载它;

关于ios - 分页引擎架构 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36172225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com