Ios 无法将XIB加载到可重用的TableViewCell中

Ios 无法将XIB加载到可重用的TableViewCell中,ios,swift,uitableview,storyboard,xib,Ios,Swift,Uitableview,Storyboard,Xib,我创建了一个XIB文件及其控制器来处理可重用的自定义单元格: 并设置我的XIB的类所有者: 一、 目前有两个故事板,其中第一个引导到第二个,使用导航视图,第二个包含选项卡视图,其中第一个项目具有表视图 在这里,我在情节提要中添加了一个UITableViewCell 单元格的类别设置为: 控制器的类设置为: 在这里,我注册我的Nib并尝试在cellForRowAt方法上使用它: class WallViewController: UIViewController { @IBOut

我创建了一个XIB文件及其控制器来处理可重用的自定义单元格:

并设置我的XIB的类所有者:

一、 目前有两个故事板,其中第一个引导到第二个,使用
导航视图
,第二个包含
选项卡视图
,其中第一个项目具有
表视图

在这里,我在情节提要中添加了一个
UITableViewCell

单元格的类别设置为:

控制器的类设置为:

在这里,我注册我的Nib并尝试在
cellForRowAt
方法上使用它:

class WallViewController: UIViewController {
    @IBOutlet weak var messagesTable: UITableView!
    
    override func viewDidLoad() {
        loadNibForCells()
    }
    
    func loadNibForCells() {
        let nib = UINib(nibName: "WallTableCell", bundle: nil)
        messagesTable.register(nib, forCellReuseIdentifier: "wallCell")
    }
}

extension WallViewController: UITableViewDataSource {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let wallCell = messagesTable.dequeueReusableCell(withIdentifier: "wallCell") as? WallTableCell else {
            return UITableViewCell()
        }
        
        wallCell.setupCell()
        
        return wallCell
    }
}
但是,当我在模拟器中运行应用程序时,我总是得到一个空的手机

要在tableViewCell中显示自定义XIB视图,我应该做什么

在遵循@Sh_Khan的回答并添加以下内容后:

messagesTable.delegate = self
messagesTable.dataSource = self
应用程序因以下错误而崩溃:

Thread 1: Exception: "[<NSObject 0x600001628e70> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key postDescriptionLabel"
线程1:异常:“[setValue:forUndefinedKey:]:此类不符合key postDescriptionLabel的键值编码”

我相信这是因为故事板中的
TableViewCell
是空的,而不是包含
WallTableCell

的组件。如果需要,请确保设置数据源并委派

messagesTable.register(nib, forCellReuseIdentifier: "wallCell")
messagesTable.delegate = self
messagesTable.dataSource = self

虽然我没有添加我的
messagesTable
的数据源(这是Shu Khan建议的),但后来我的错误解决方案是,我的参考出口指向“文件的所有者”,而不是我的文件出口

因此,在选择自定义的
TableViewCell
(不是原型)时,应:

出于某种原因,它不是右边的“标题标签”,而是“文件的所有者”


原型单元格不应包含任何附加到它的类。

有一个错误:
线程1:异常:“[setValue:ForUndelinedKey:]:该类不符合key postDescriptionLabel的键值编码”
,因此,您可能需要解除
postDescriptionLabel
的绑定,并再次将其从xib文件绑定到swift文件。

对于您的
wallCell
它是问题中的第一个代码,它只是设置标签的文本
self.title.text=“Sample title”
self.postDescriptionLabel.text=“示例说明”
@HarryJI像您一样添加了两行,但现在我不断遇到另一个错误,我认为这与我的故事板中的TableViewCell是空的而不是其中的组件有关。我将在编辑问题时发布错误
messagesTable.register(nib, forCellReuseIdentifier: "wallCell")
messagesTable.delegate = self
messagesTable.dataSource = self