0

我在 ViewController(处理多个视图和视图控制器)中以编程方式(不使用 xib 或情节提要)创建 TableViewController,如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];

    tableViewController = [[UITableViewController alloc]initWithStyle:UITableViewStylePlain];
    [self.view addSubview:tableViewController.tableView];
}

运行时,程序停止并出现以下错误:

-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] 中的断言失败,/SourceCache/UIKit_Sim/UIKit-2372/UITableView.m:4460 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法使具有标识符 Cell 的单元格出列 - 必须注册标识符的笔尖或类或连接故事板中的原型单元'

调试显示tableView在添加到self.view时是空白的。

我是否需要为通常在 nib 文件中找到的 tableView 做一些额外的手动初始化?

4

1 回答 1

0

谢谢大家编辑和回答我的问题。仔细阅读后,错误消息将其拼写出来:“必须为标识符注册一个 nib 或一个类,或者在情节提要中连接一个原型单元”。这个细节在指南、示例和教程中很少提及。

堆栈溢出!如果它不存在,它就不在任何地方!

于 2012-11-06T21:23:17.953 回答