自定义单元格导致“NSInternalInconsistencyException”,原因:“无法在包中加载 NIB:

Posted

技术标签:

【中文标题】自定义单元格导致“NSInternalInconsistencyException”,原因:“无法在包中加载 NIB:【英文标题】:Custom cell is causing a 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 【发布时间】:2019-08-21 23:46:21 【问题描述】:

我正在尝试使用 XIB 文件将自定义单元格添加到我的表中,但在尝试运行它时出现此错误:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with name 'parentCell''

这些是我到达这里所采取的步骤:

1) 创建了一个自定义 xib 故事板单元 2) 将情节提要单元格的标识符设置为 parentCell 3) 为自定义 xib 创建了一个类作为 ParentTableViewCell 4)将xib故事板单元的类设置为ParentTableViewCell 5) 在主情节提要上创建了一个表格视图,并为主 ViewController 中的表格创建了一个名为 itemsTable 的 IBOutlet。 6)在主ViewController的viewdidload中设置:

itemsTable.dataSource = self
itemsTable.delegate = self
itemsTable.register(UINib(nibName: "parentCell", bundle: nil), forCellReuseIdentifier: "parentCell")

7) 在 cellForRowAt 中:

let cell = tableView.dequeueReusableCell(withIdentifier: "parentCell", for: indexPath) as! ParentTableViewCell
return cell

你们能看看我是否错过了导致问题的步骤吗?

我已经尝试过 command + shift + k 并显示相同的错误。

【问题讨论】:

xib 名称是什么? 嘿@Sh_Khan xib 名称是 ParentTableViewCell.xib 【参考方案1】:

如果 xib 名称是 ParentTableViewCell.xib 那么你应该这样做

itemsTable.register(UINib(nibName: "ParentTableViewCell", bundle: nil), forCellReuseIdentifier: "parentCell")

【讨论】:

非常感谢您的帮助!终于搞定了。

以上是关于自定义单元格导致“NSInternalInconsistencyException”,原因:“无法在包中加载 NIB:的主要内容,如果未能解决你的问题,请参考以下文章

自定义单元格导致“NSInternalInconsistencyException”,原因:“无法在包中加载 NIB:

自定义 UITableViewCell 中的 UIButton 导致在多个单元格中选择按钮

Swift 3 - 使用多个自定义单元重用单元的问题

使用情节提要的tableview自定义单元格标签不起作用

将自定义单元格从一个视图控制器传递到另一个视图控制器

UIView drawRect 仅在 UITableViewCell 中调用一次,导致重新使用单元格时数据过时