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 导致错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 Swift 3.0 中的数据在 Xib 中显示 tableView