我知道之前已经发布了类似的问题,但我无法在其中找到解决方案,所以请耐心等待...
我在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方法中看到了一些可能需要自定义代码的引用,但我无法确定那里需要什么,所以有人可以给我一点指针吗?
答案 0 :(得分:4)
而不是注册类注册 nib 。该nib是您设计表视图单元子类的笔尖。它只包含一个顶级对象,即单元格,并且该单元格已被指定为SiteFileCell。 Presto,它一切正常。
请参阅我的书中的完整说明(带有可下载的代码):
http://www.apeth.com/iOSBook/ch21.html#_custom_cells
参见esp。 “设计笔尖中的细胞”小节。
答案 1 :(得分:0)
如果您使用XIB作为单元格,则只能在XIB文件中设置标识符。