动态设置 TableView 的控制器 class

Set the TableView's controller class dynamically

我想构建一个应用程序,如果用户单击按钮,它会显示 TableView 中的部分。 (底层数据也可能被不同地排序和过滤)这需要一些额外的功能被覆盖,甚至一些现有的被覆盖的功能需要不同的实现。

我在想,与其将 if 语句放在几乎每个被覆盖的函数中,不如拥有两个不同的控制器 classes(在 "custom class" 字段中定义的 IB 中)和当用户单击按钮时以编程方式更改它们。

如何使用不同的控制器重新加载我的 UITableView class?

谢谢, 丹尼尔

您可以随时为 UITableView 设置数据源或委托。

一种方法是让主视图控制器保持 table 视图,然后在 viewDidLoad 中分配您想要的数据源或委托 class 实例table 使用。

完成后,您可以随时为新的 class 实例更改 datasource/delegate,并要求 table 视图重新加载 reloadData打电话。