有条件地使用initWithStyle UITableView

时间:2012-12-28 16:33:57

标签: ios6 uitableview segue

我有一个可以加载各种数据的UITableView类。无论数据是什么,加载的数据上的所有操作都是相同的,所以我认为最好将它们全部保存在同一个类中。我遇到的问题是,对于一组数据,我需要UITableView使用UITableViewStyleGrouped样式,其余部分使用UITableViewStylePlain。

我可以使用以下if语句在prepareForSegue中使用它:

if([whatToLoad isEqualToString:@"Sets"]){
            [[segue destinationViewController] initWithStyle:UITableViewStyleGrouped];
        }
        else
            [[segue destinationViewController] initWithStyle:UITableViewStylePlain];

然后,Xcode向我发出警告“两个表达结果未使用”。在没有警告的情况下,我能做些什么才能达到相同的效果吗?或者我是否必须为需要分组表的一组数据创建不同的类?

1 个答案:

答案 0 :(得分:0)

您可以在情节提要文件中拥有多个表视图控制器,并设置" Class"每个都有相同的UITableViewController子类。因此,您可以为每个控制器使用相同的控制器代码,但其中一个具有"分组"表视图和其他人有一个" plain"表格视图。

调用

[[segue destinationViewController] initWithStyle:...]

对我来说似乎有风险,因为目标视图控制器是一个已经分配和初始化的实例,并且initXXX函数通常被允许返回不同的实例。