分页引擎架构 - iOS
Pagination engine architecture - iOS
创建分页引擎架构的最佳方式是什么?
在我之前的实现中,我
- 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
.
添加指标页脚视图
我认为 Associated objects
应该被视为不得已的方法,而不是寻找问题的解决方案(实际上,类别本身真的不应该在工具链的顶部开始与).
所以我的问题是 - 这种新设计是否是问题的最佳解决方案。或者您会推荐一些更好的方法吗?
我不明白您不想要的重复代码到底是什么,但我完全不认为使用类别是解决此问题的好方法。
我可以建议的是拥有一个具有分离职责 的良好架构。这将带您找到解决方案。
如果对你有帮助可以看看我的文章Anatomy of a TableView(Controller) Architecture and the one specific on Interaction Objects。
您可以将交互对象想象成包含单元格所需所有信息的框,例如:
- 我应该展示什么?
- 我应该使用什么样的电池?
- 如果使用 select 这个单元格(目标,select 或,..),我必须做什么?
等等
一般来说,按照所描述的方法,您应该不会在大多数情况下感到卡在前面。
;)
对于分页,我将创建一个依赖于 table 视图控制器的管理器。思路是:
- User 在 tableView;
上做了一些事情
- table视图的委托(通过交互对象、委托或块)与视图控制器通信;
- 视图控制器,向分页管理器询问新参数;
- 视图控制器传递给table视图的数据源新参数并重新加载它;
创建分页引擎架构的最佳方式是什么?
在我之前的实现中,我
- 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
.
我认为 Associated objects
应该被视为不得已的方法,而不是寻找问题的解决方案(实际上,类别本身真的不应该在工具链的顶部开始与).
所以我的问题是 - 这种新设计是否是问题的最佳解决方案。或者您会推荐一些更好的方法吗?
我不明白您不想要的重复代码到底是什么,但我完全不认为使用类别是解决此问题的好方法。
我可以建议的是拥有一个具有分离职责 的良好架构。这将带您找到解决方案。
如果对你有帮助可以看看我的文章Anatomy of a TableView(Controller) Architecture and the one specific on Interaction Objects。 您可以将交互对象想象成包含单元格所需所有信息的框,例如:
- 我应该展示什么?
- 我应该使用什么样的电池?
- 如果使用 select 这个单元格(目标,select 或,..),我必须做什么? 等等
一般来说,按照所描述的方法,您应该不会在大多数情况下感到卡在前面。
;)
对于分页,我将创建一个依赖于 table 视图控制器的管理器。思路是:
- User 在 tableView; 上做了一些事情
- table视图的委托(通过交互对象、委托或块)与视图控制器通信;
- 视图控制器,向分页管理器询问新参数;
- 视图控制器传递给table视图的数据源新参数并重新加载它;