我想在表格视图中为每个单元格设置一个数字,并且我有不同的部分,因此无法使用indexPath.row
。
目前我正在使用一个变量count
并在cellForRowAtIndexPath
count++
中增加它。
但在滚动表格时会刷新。
如何为每个单元格设置自动增量编号。
答案 0 :(得分:2)
在cellForRowAtIndexPath
上尝试此操作..将计算前一部分及其行,并添加当前行
NSInteger cellNumber = indexPath.row;
for (int i =0; i<indexPath.section; i++) {
cellNumber += [tableView numberOfRowsInSection:i];
}
答案 1 :(得分:1)
实例变量不起作用。正如您的问题所述,您的索引应该可以在cellForRowAtIndexPath
内的indexPath(行和部分)中进行计算。
试试这个:
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"];
NSInteger count = 0;
for (NSInteger sec=0; sec < indexPath.section; sec++) {
NSInteger rows = [tableView numberOfRowsInSection:sec];
count += rows;
}
count += indexPath.row + 1;
NSLog(@"Current row is: %ld", (long)count);
return cell;
}
答案 2 :(得分:0)
复制并粘贴代码: -
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1
reuseIdentifier:@"Cell"];
}
// Configure the cell...
NSInteger cellNumber = indexPath.row;
for (int i =0; i<indexPath.section; i++) {
cellNumber += [tableView numberOfRowsInSection:i];
}
cell.textLabel.text = [NSString stringWithFormat:@"%ld", (long)cellNumber];
return cell;
}
答案 3 :(得分:0)
尝试组合
NSString *string = [NSString stringWithFormat:@"%@%@",@(indexPath.section),@(indexPath.row)];
cell.tag = [string intValue];
您将始终获得一个可供参考的唯一编号。