我有一个包含 2 个部分的分组表。
第一部分只有一个单元格,它是 XIB 的一个特定子类。表格中的其余单元格显示没有 XIB 的基本数据。
我遇到的问题是,当第一个单元格被重新使用时,单元格的子类显然仍然是使用 XIB 的那个,所以当我尝试对其应用数据时,它没有任何适当的标签等在他们的位置。
我需要要么忽略第一个单元格并继续使用第二种单元格,要么更改单元格的类型。
处理这种情况的最佳方法是什么,你是如何做到的?
我试过了
if (cell == nil || [cell isKindOfClass:[InspectionMasterTableViewCell class]])
但这似乎没有任何效果。
我的 cellForRowAtIndexPath 的基本布局是这样的
if (indexPath.section == InspectionsMasterSectionData)
{
// CREATE CELL
static NSString *CellWithIdentifier = @"InspectionMasterTableViewCell";
InspectionMasterTableViewCell *cell = (InspectionMasterTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellWithIdentifier];
if (cell == nil)
{
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"InspectionMasterTableViewCell" owner:nil options:nil];
cell = [topLevelObjects objectAtIndex:0];
}
return cell;
}
else
{
static NSString *CellWithIdentifier = @"FormTableViewCell";
FormTableViewCell *cell = (FormTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellWithIdentifier];
if (cell == nil || [cell isKindOfClass:[InspectionMasterTableViewCell class]])
cell = [[FormTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellWithIdentifier];
//CELL DATA
return cell;
}