XIB 文件中的 TableView 导致错误

Posted

技术标签:

【中文标题】XIB 文件中的 TableView 导致错误【英文标题】:TableView in XIB file causing errors 【发布时间】:2021-04-01 18:18:53 【问题描述】:

我正在尝试在 XIB 文件中添加 tableView,但收到此错误:this class is not key value coding-compliant for the key tableView.。我以前从未使用过 XIB 文件,所以我不确定可能是什么问题

这就是我加载 XIB 的方式:

let scoresVC = UIViewController(nibName: "LiveScoresViewController", bundle: nil)
navigationController?.pushViewController(scoresVC, animated: true)

class LiveScoresViewController: UIViewController, UITableViewDelegate, UITableViewDataSource  
    
    @IBOutlet weak var tableView: UITableView!

    

    override func viewDidLoad() 
        super.viewDidLoad()
        tableView.dataSource = self
        tableView.delegate = self
        tableView.register(UINib(nibName: "LiveScoreCell", bundle: nil), forCellReuseIdentifier: "LiveScoreCell")
    

【问题讨论】:

你是如何加载 xib 的?您是否正在创建LiveScoresViewController 的实例?如果是这样,请向我们展示该代码。 我刚刚将它添加到问题中,在我添加 tableView 之前它也加载正常 【参考方案1】:

问题是let scoresVC = UIViewController(nibName: "LiveScoresViewController", bundle: nil)这一行。你需要这样改变:

let scoresVC = LiveScoresViewController(nibName: "LiveScoresViewController", bundle: nil)

【讨论】:

【参考方案2】:

您正在创建一个普通的UIViewController 并告诉它从LiveScoresViewController.xib 加载其视图。您需要创建一个LiveScoresViewController 的实例。这应该有效:

let scoresVC = LiveScoresViewController()

对象将使用自己的类名来查找 xib。

【讨论】:

以上是关于XIB 文件中的 TableView 导致错误的主要内容,如果未能解决你的问题,请参考以下文章

从 xib 错误加载表格视图中的单元格

使用 Swift 3.0 中的数据在 Xib 中显示 tableView

xib中的xcode6静态表视图

TableViewCell.xib 没有出现在 tableview 上

自定义 tableview 单元 xib 出口返回 nil

自定义tableview的xib怎么加载