为Navigation Controller创建自定义类(立即崩溃)

时间:2013-02-09 23:23:23

标签: iphone objective-c class storyboard

首先,我是新手,所以请在这里陪我...... 我正在开发基于故事板的应用程序,该应用程序由导航控制器(初始视图控制器)链接的多视图控制器组成。这用作主屏幕。 我正在使用静态单元格和静态表格视图

现在,我想将一些标签,按钮等作为出口/操作连接到“ .h ”文件,然后在.m文件中编写自定义方法。但是(正如预期的那样?)在身份检查器中还没有可供选择的自定义类。所以我创建了一个新的自定义类作为 UITableViewController 的子类(似乎是正确的?

我的新自定义类现在已连接到我的storyboard视图控制器。然后我输入(我相信的)正确的 numberOfSectionsInTableView :1和 numberOfRowsInSection :5(我有1个部分,包括5行)。运行时,它会立即崩溃并出现以下错误:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:'无法使用标识符Cell将单元格出列 - 必须为标识符注册一个nib或类,或者在故事板中连接原型单元格“

如果返回0部分和0行,一切正常(期望没有显示行)。 一旦我退回任何内容>其中任何一个都为0,它会因此错误而崩溃。

我错过了什么?还有什么我应该添加到文件之前它可以作为自定义类附加,我可以使用它作为任何其他自定义类?我再次在界面构建器(故事板)中设置了所有内容,包括表格单元格行,样式等等。我做错了什么?

修改

我的表视图设置

My Table View Setup

我的表格单元格设置

enter image description here

解决方案

  1. 将“Cell”作为标识符添加到所有表格单元格
  2. 删除了表视图数据源方法。
  3. 感谢danh和rdelmar!

1 个答案:

答案 0 :(得分:1)

非常肯定这就是答案:在storyboard中,确保在表视图(崩溃视图控制器中的那个)上绘制原型单元格,并确保它具有设置为“Cell”的重用标识符。您的rowAtIndexPath:的代码正在尝试使用该标识符对单元格进行出列,但它不在那里。

可以使用故事板中的属性检查器(右上角的中间选项卡)设置标识符。