Присвойте каждой ячейке уникальный тег (инкрементный номер) - PullRequest
0 голосов
/ 10 мая 2011

Есть ли способ дать каждой ячейке в табличном представлении таблицы инкрементное число в качестве тега?

например:

Группа 1

  • ячейка 1 (тег = 1)
  • ячейка 2 (тег = 2)
  • ячейка 3 (тег = 3)

Группа 2

  • ячейка 1 (тег = 4)
  • ячейка 2 (тег = 5)

Группа 3

  • ячейка 1 (тег = 6)

и т.д ...

Любая помощь очень ценится!

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

Это невозможно без запроса источника данных для подсчета ячеек в предыдущих группах. И вы, вероятно, не хотите этого делать. В любом случае это не имеет смысла, потому что для достижения хорошей производительности необходимо правильно использовать повторно, поэтому теги появляются и исчезают в любое время.

Итак, настоящий вопрос в том, почему вы хотите это сделать? Вероятно, есть способ добиться того же самого без добавления тегов.

Но если вы действительно хотите:

- (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;
}
0 голосов
/ 10 мая 2011
  1. Создание переменной
  2. Создание цикла, который будет повторять все ячейки
  3. В конце каждого цикла добавьте 1 к переменной
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...