我有一个UITableViewController
,我可以通过多种不同的方式使用它:
CellX
家长内显示多个自定义单元格(让我们调用这些UIPageViewController
)。CellX
单元格,其中包含自己的导航栏标题。CellY
)。目前,我设置了boolean
个变量,用于标识UITableViewController
正在其中一个用例中使用,并且有相当多的if
个语句控制UITableViewController
内发生的事情。然而,这似乎是一种糟糕的编码方式,还有更好的方法吗?
答案 0 :(得分:1)
您可以创建一些枚举类型来确定您的上下文,然后在switch语句中填充每个案例的视图(并将这些案例放在单独的方法中,以便更容易理解)。 Switch语句不仅更具可读性,而且性能更好。 另一种方法是,如果您的上下文完全不同,则创建几个不同的viewContollers。
答案 1 :(得分:1)
不知道您的完整设计,但是根据您的设置,我会使用枚举和案例陈述来使您的代码更易于理解和维护。
答案 2 :(得分:1)
有几种方法可以实现,我建议对视图的所有可能状态使用枚举,然后在相关的表方法中打开它。如下所示:
enum TableState {
case Full
case Filtered
case Advanced
case SecondView
}
var tableState = TableState.Full
switch tableState {
case .Full: //setup table
case .Filtered
case .Advanced
case .SecondView
}