自定义表格单元格重用/出列

时间:2013-04-04 14:03:00

标签: ios xcode tableviewcell

我知道之前已经发布了类似的问题,但我无法在其中找到解决方案,所以请耐心等待...

我在xcode中有一个带有自定义表格单元格的tableview。该单元目前只不过是一个标签:

SiteFileCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.fileNameLabel.text = [self.listDir.filesInfo objectAtIndex:indexPath.row];

这很有效。我本质上是在做一个目录深入的结构。当我选择一个单元格时,它会通过将新的tableview推送到导航控制器堆栈并重新加载所有表格单元格来进入下一级别。

此时我看到一个经常报告的错误:

无法使用标识符Cell对单元格进行出列 - 必须为标识符注册nib或类或在故事板中连接原型单元格

因此,经过以下研究,我看到了我应该注册类型的建议:

[self.tableView registerClass:[SiteFileCell class] forCellReuseIdentifier:@"FileCell"];

如果我这样做,那东西效果很好,但没有一个单元格显示任何标签!

我在单元类的initWithStyle方法中看到了一些可能需要自定义代码的引用,但我无法确定那里需要什么,所以有人可以给我一点指针吗?

2 个答案:

答案 0 :(得分:4)

而不是注册注册 nib 。该nib是您设计表视图单元子类的笔尖。它只包含一个顶级对象,即单元格,并且该单元格已被指定为SiteFileCell。 Presto,它一切正常。

请参阅我的书中的完整说明(带有可下载的代码):

http://www.apeth.com/iOSBook/ch21.html#_custom_cells

参见esp。 “设计笔尖中的细胞”小节。

答案 1 :(得分:0)

如果您使用XIB作为单元格,则只能在XIB文件中设置标识符。