我有自定义视图控制器,其中包含TableView。我有另一个视图控制器,扩展自定义视图控制器。
如何将TableView从子类传递到超级视图?
这是父视图控制器:
class CustomViewController: CustomNavigationController, UISearchResultsUpdating,UITableViewDelegate, UITableViewDataSource {
var query: String = "male"
var tableView: UITableView!
convenience init(tableView: UITableView, query: String){
self.init()
self.tableView = tableView
self.query = query
}
这就是我在子类中所做的:
class GirlsViewController: CustomViewController {
@IBOutlet weak var tableViewObj: UITableView!
convenience init() {
self.init(nibName:nil, bundle:nil)
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
tableView = tableViewObj
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
此行fatalError("init(coder:) has not been implemented")
答案 0 :(得分:0)
只需执行错误消息所说的内容:您需要实施init?(coder
。
基本实现是调用super
并执行与init(nibName
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
tableView = tableViewObj
}