基于按下按钮,在同一个表视图控制器中加载不同的数组

时间:2016-03-03 13:24:00

标签: swift uitableview cocoa-touch

我有一个视图控制器和一个表视图控制器。在我的视图控制器中,我有6个不同的按钮,按下时应该每个按钮加载不同的数组表视图。

我制作了这张图:

我该怎么办?

1 个答案:

答案 0 :(得分:2)

对此的解决方案可以从非常简单到更复杂,具体取决于您的6个阵列之间的内容和行为有多么不同。

最简单:所有六个数组都具有相同的结构,并且在表视图中的行为完全相同。

- >为表视图数据源定义“当前”数组变量,并在按下按钮时将所选数组的内容复制到其中。然后调用reloadData。

稍微复杂一点:所有六个数组都具有相同的结构,但必须在表格视图中显示不同的内容。

- >如上所述使用“当前”数组变量,但在表视图中定义多个原型单元格。在视图控制器中维护一个内部变量,以确定当前选择的按钮。在getCellForRowAtIndexPath方法中,在switch语句中使用内部变量来执行适当的单元格内容的出列和映射。

最复杂:数组具有不同的结构,必须显示不同的内容/行为。

--->为每个数组定义一个类,并实现数据源并委托特定于您需要的结构和单元格内容/行为的方法。在按钮中,将表视图的委托切换到相应的类。 (这将有助于保持每个数组类型的细节清晰分离)