为每个单元格指定一个唯一标记(增量编号)

时间:2011-05-09 21:19:15

标签: iphone objective-c cocoa-touch uitableview

有没有办法给分组tableview中的每个单元格增加一个数字作为其标记?

E.g:

第1组

  • 单元格1(标签= 1)
  • cell 2(tag = 2)
  • cell 3(tag = 3)

第2组

  • cell 1(tag = 4)
  • cell 2(tag = 5)

第3组

  • cell 1(tag = 6)

等...

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

如果不查询数据源中以前组中的单元格数,则无法进行此操作。你可能不想这样做。无论如何都没有意义,因为你必须实现适当的重用以获得良好的性能,因此标签随时出现和消失。

所以真正的问题是,你为什么要这样做?可能有一种方法可以在不添加标签的情况下实现相同目的。

但如果你真的想:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSInteger count = 1;
    for (NSInteger i = 0; i < indexPath.section; i++) {
        count += [[tableView dataSource] tableView:tableView numberOfRowsInSection:i];
    }
    count += indexPath.row;
    // dequeue, create and configure...
    cell.tag = count;
    return cell;
}

答案 1 :(得分:-2)

  1. 创建变量
  2. 创建一个循环,遍历所有单元格
  3. 在每个循环结束时,向变量
  4. 添加1