我收到错误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:)
答案 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
。