我编写了一个代码,为我的TableView中的每个单元格提供一个从8开始的数字,当它达到12时我在app小时调用它的计数器
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
while (hour < 15)
{
if (hour == 12) {
hour=1;
} else {
NSString *str = [NSString stringWithFormat:@"%d",hour];
cell.textLabel.text = [courses objectAtIndex:indexPath.row];
cell.detailTextLabel.text = str;
NSLog(@"%@",str);
hour++;
return cell;
}
}
return cell;}
当我使用模拟器运行应用程序时工作正常但是当我滚动时它会不断更改第一个和第二个单元格中的数字,我希望即使滚动表格也不会改变数字。
我怎么能这样做? 提前谢谢。
答案 0 :(得分:4)
看起来hour
在方法之外定义,并且没有链接到单元格的indexPath
。如果你想确保显示的字符串对于一个单元格保持不变,你应该能够单独从indexPath
确定性地计算它,因此即使表格无序地加载单元格,它们也会保持正确文本。