创建分页引擎架构的最佳方法是什么?
在我以前的实施中,我是
- 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
视为一种最后的方法,而不是寻找问题的解决方案(实际上,类别本身实际上不应该位于工具链的顶端)
所以我的问题是 - 这个新设计是否是问题的最佳解决方案。或者你会推荐一些更好的方法吗?
答案 0 :(得分:1)
我不确切地知道您不想要的重复代码是什么,但我完全不认为使用类别是解决此问题的好方法。
我可以建议建立一个具有分离职责的良好架构。这将引导您找到解决方案。
如果有帮助,您可以阅读我的文章Anatomy of a TableView(Controller) Architecture以及Interaction Objects上的具体内容。 您可以将交互对象想象成具有单元所需信息的框,例如:
一般来说,按照所描述的方法,你不应该在大多数情况下陷入困境。
)
对于分页,我会创建一个管理器,它是表视图控制器的依赖。这个想法是: