2010-04-11 54 views
0

我正在创建分组表格视图。数据正在加载好,但在分组视图中有很多白色的空白空间。在我上下滚动几次之后,他们就会人口稠密。帮帮我?分组表格视图单元格不加载

这里是我的getCellForRowIndexAtPath方法:

static NSString *Id= @"CustomDiagChargeID"; 
CustomCellDiagCharges *cell = (CustomCellDiagCharges *)[tableView dequeueReusableCellWithIdentifier:Id]; 
if(cell == nil) { 
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCellDiagCharges" owner:self options:nil]; 
    for (id oneObject in nib) { 
     if([oneObject isKindOfClass:[CustomCellDiagCharges class]]) 
      cell = (CustomCellDiagCharges *) oneObject; 
    } 
} 

NSUInteger row = [indexPath row]; 
DiagDetails *rowData = [preferences getDiagElementAt:indexPath.section row:row]; 
cell.code.text = rowData.ICD9Code; 
cell.desc.text = rowData.ICD9Desc; 
return cell; 

感谢,
Teja公司。

+0

你可以在“NSUInteger row =”上面添加一个断言来确保你的单元格不是零? 另外,你可以尝试使用静态数据填充单元格吗?然后尝试使用类似[NSString stringWithFormat:@“Cell%d:%d”,indexPath.section,indexPath.row]; ?? – jessecurry 2010-04-11 01:49:22

+0

试图填充静态数据,同样的问题。如果以某种方式更改内容,我正在使用分组tableView? – 2010-04-12 01:18:33

回答

0

我正在玩弄背景和单元格alpha,现在所有的单元格都加载了。不确定问题是什么。哦,软件。

-2

首先,您不应将Id声明为静态。在第一个事件循环完成并且字符串被解除分配后,该指针将无效。

更新:这是错误的。见下文。

+0

它是一个字符串常量,来自“字符串编程指南”: 在源代码中创建字符串对象最简单的方法是使用Objective-C @“...”构造: NSString * temp = @“/ TMP /从零开始“; 请注意,以这种方式创建字符串常量时,应避免使用除7位ASCII字符之外的任何内容。这样的对象是在编译时创建的,并存在于整个程序的执行过程中。编译器使这种对象常量在每个模块的基础上是唯一的,并且**它们永远不会被释放**,尽管您可以像其他对象一样保留和释放它们。 – jessecurry 2010-04-11 01:46:12

+0

哇,对吧。编辑。 – Tom 2010-04-11 20:20:54

1

当您的单元格内容由于滚动而发生变化时,这几乎总是由您的单元标识符出现问题引起的。检查CustomCellDiagCharges.xib中的CustomCellDiagCharges对象,并确保其标识符字段与您在代码中使用的单元标识符(CustomDiagChargeID)匹配。另外,如果您的应用程序中有其他表格,请确保您没有使用与另一个UITableViewCell子类相同的单元格标识符。

+0

那里没有运气,标识符是正确的。这是一个分组tableView如果有帮助? – 2010-04-12 01:17:41

+0

嗯......这是令人惊讶的。这是我第一次听说滚动显示不是由重用标识符问题引起的不一致。尝试把NSLog(@“section:%d,row:%d,code:'%@',desc:'%@'”,indexPath.section,indexPath.row,cell.code.text,cell.desc.text );紧接在返回单元格之前;当单元格显示为空白时,是否填充了标签的文本属性? – cduhn 2010-04-12 07:50:21

相关问题