我有一个在 Interface Builder 中创建的自定义 UITableViewCell。我成功地将单元格出列,但是当我滚动时,单元格似乎开始调用不同的 indexPaths。在此示例中,我将当前的 indexPath.section 和 indexPath.row 提供给 customCellLabel。当我上下滚动表格时,一些单元格会发生变化。数字可能到处都是,但单元格并没有在视觉上跳来跳去。
如果我注释掉 if(cell==nil),那么问题就消失了。
如果我使用标准单元,问题就会消失。
想法为什么会发生这种情况?
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"CalendarEventCell"];
if (cell == nil) {
NSLog(@"Creating New Cell !!!!!");
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CalendarEventCell" owner:self options:nil];
cell = (UITableViewCell *)[nib objectAtIndex:0];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
// Set up the cell...
[customCellLabel setText:[NSString stringWithFormat:@"%d - %d",indexPath.section, indexPath.row]];
return cell;
}