2017-11-08 12 views
-1

私は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

_You_と同じことを行うことです。それはクラッシュを意味します!あなたが墜落しても、本当に不平を言うことはできません。アプリはあなたが言ったことを正確に実行しました。 – matt

答えて

0

だけで何をすべきかエラーメッセージ:init?(coderを実装する必要があります。

基本的な実装はsuperを呼び出すと `fatalError`を言っているのinit(nibName

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
    tableView = tableViewObj 
} 
関連する問題