另一个SIGABRT错误

时间:2015-04-20 16:37:31

标签: ios swift ios7

我收到错误Thread1:在下面的行中发出SIGABRT信号,我已经尝试过了:

  • 产品>清洁,重新启动计算机
  • 检查故事板的所有连接
  • 检查某些连接是否丢失
  • 标识符在属性检查器
  • 中设置为“单元格”

再看看这个论坛中的很多帖子。

毕竟我删除了与故事板的所有连接并再次连接但仍然得到相同的错误:(

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell2 = tableView.dequeueReusableCellWithIdentifier("cell2", forIndexPath: indexPath) as! DefinitionTableViewCell

在控制台中:

Assertion failure in -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:], /SourceCache/UIKit/UIKit-3347.44/UITableView.m:6245

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier cell2 - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'

任何帮助都非常受欢迎Tks:)

1 个答案:

答案 0 :(得分:1)

好吧,正如异常消息所示,您“必须为标识符注册一个笔尖或类”。尝试在viewDidLoad()中添加此行:

tableView.registerNib(UINib(nibName: "nameOfYourCustomNib", bundle: nil), forCellReuseIdentifier: "cell2")

nameOfYourCustomNib替换为您的笔尖名称,例如,如果您有文件MyCustomCell.xib,则名称将为MyCustomCell

如果失败,请输入以下内容,尝试注册一个类而不是一个nib(记得删除第一行):

tableView.registerClass(DefinitionTableViewCell.self, forCellReuseIdentifier: "cell2")  

最重要的是,在cellForRowAtIndexPath中,请确保检查单元格是否为nil,如果是,请创建新的DefinitionTableViewCell