修复具有许多状态的巨型视图控制器
Posted
技术标签:
【中文标题】修复具有许多状态的巨型视图控制器【英文标题】:Fix giant viewcontroller with lots of states 【发布时间】:2018-07-27 08:45:59 【问题描述】:我的应用程序中有一个UIViewController
,其中包含一个UITableView
。此 tableView 对第 2 部分有几种不同的状态。此部分中的行可能因高度、单元格类型和单元格数量而异。
我过去处理这个问题的方式是一个UIViewController
,在UITableViewDelegate
和UITableViewDataSource
中有很多不同的if 语句。现在,过了一段时间,这给了我一个相当冗长而复杂的控制器。
我想了两种可能的方法来解决这个问题。第一个将是不同的 UITableViewDelegate
和 UITableViewDataSource
类,基于 if 语句。另一种方法是为每个可能的状态加载不同的UITableViewController
。
你们认为最干净的解决方案是什么?或者还有其他更清洁的解决方案吗?
【问题讨论】:
【参考方案1】:首先为 viewcontroller 创建一个扩展,它确认 tableView 数据源和委托协议。
为了实现这一点,我们可以在 Presenter 类中创建一个自定义方法来处理所有这些代码并在需要时调用此方法。
【讨论】:
以上是关于修复具有许多状态的巨型视图控制器的主要内容,如果未能解决你的问题,请参考以下文章