如何在swift中子类自定义视图控制器?

时间:2017-11-08 19:45:21

标签: swift uiviewcontroller

我有自定义视图控制器,其中包含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")

的应用程序崩溃

1 个答案:

答案 0 :(得分:0)

只需执行错误消息所说的内容:您需要实施init?(coder

基本实现是调用super并执行与init(nibName

相同的操作
required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    tableView = tableViewObj
}