更好的表视图切换逻辑

时间:2011-08-15 08:36:10

标签: iphone uitableview optimization

我的桌子视图,我想将配件从复选标记切换到没有复选标记(并再次返回) - 我目前这样做:

if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
    cell.accessoryType = UITableViewCellAccessoryNone;
}
else {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}

现在我知道有更好的方式来写这个,有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我现在看到的唯一问题是它依赖于单元来保存状态。关于是否给单元格进行检查的决定应该不是基于单元格而是基于单元格中显示的数据,例如:

if (vehicle.selected) {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
else {
    cell.accessoryType = UITableViewCellAccessoryNone;
}

如果你想让它变得更加神秘,你可以:

cell.accessoryType = vehicle.selected ? UITableViewCellAccessoryCheckmark
                                      : UITableViewCellAccessoryNone;

有些人喜欢这种符号,有些人则讨厌它。在使用之前,请检查您的本地编码标准文档,以确定此类代码是否可接受。