我创建了一个包含表格的可重用xib文件,并将其加载到TableView.swift
文件中,如下所示:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
Bundle.main.loadNibNamed("TableView", owner: self, options: nil)
}
我只是提到这一点,以澄清我对如何加载xib文件并不感到困惑
我可以通过向RootViewController.swift
添加视图并为该视图提供如下自定义类,轻松加载我的UIViewController
文件中的可重用视图:
然后像这样为该视图创建一个插座:
所以这是我的问题:
为什么我无法简单地添加这样的视图:
let tableViewView = TableView()
当我这样做时,我得到一个我不完全理解的错误:
答案 0 :(得分:3)
您还需要覆盖帧初始值设定项。
假设您的TableView
类是UITableView
子类,它应该如下所示:
class TableView: UITableView {
override init(frame: CGRect, style: UITableViewStyle) {
super.init(frame: frame, style: style)
// any additional setup code
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
// any additional setup code
}
}
因为您尝试以编程方式实例化表视图,所以需要为该帧提供初始化程序,而不仅仅是带编码器的初始化程序。