iOS 2 UITableViews并更改隐藏属性或1并更改源

时间:2014-12-05 10:08:53

标签: ios objective-c uitableview

我想使用分段控制来切换"两个"桌子,但我不知道什么是最好的方法。我应该真的创建2个表并在更改分段控制值时更改隐藏属性,还是应该更改数据源和全局属性,然后帮助我检测我想要显示哪些数据?

如果每个表都有相同的自定义单元格,那么我认为最好的方法就是使用一个表格。但我为每个表创建了2个自定义单元格(使用xib和自定义类,因为内容有点不同),所以我不确定。在cellForRowAtIndexPath:

中有类似的东西
if(_firstContent)
    CellIdentifier = @"trackIdentifier";
else
    CellIdentifier = @"otherIdentifier";

UITableView *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell)
{
    if(_firstContent)
    {
         [tableView registerNib:[UINib nibWithNibName:@"PanelTrackCell" bundle:nil] forCellReuseIdentifier:CellIdentifier;
         cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    }
    else
    {
         [tableView registerNib:[UINib nibWithNibName:@"PanelOtherCell" bundle:nil] forCellReuseIdentifier:CellIdentifier];
         cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    }
}

这是好事吗?

1 个答案:

答案 0 :(得分:1)

最好的方法是使用一个表并更改此表中的数据。你的cellForRow方法是完全合法的,这种方法总是在数据在单元格内部完全不同时使用,但如果它是真实的,你应该使用自动布局并使用一个单元格。

使用两个表并不是一个好主意,因为那时你需要控制器的隐藏属性,并使用完全相同的cellForRow方法。所以是的,你的方法很好。