我创建基类类型的UITableViewController,我想在我的应用程序中创建 从这个基类中,其他viewView中的其他tableView是我的代码
基类:
class BaseTableTableViewController: UITableViewController {
private var _testArray:[String]!
private var _identifier:String!
init(array:[String],identifier:String) {
_testArray = array
_identifier = identifier
super.init(style: .plain)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
public private (set) var array:[String] {
get {
return _testArray
}
set {
return _testArray = newValue
}
}
public private (set) var identifier:String {
get {
return _identifier
}
set {
return _identifier = newValue
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print(self._testArray)
// #warning Incomplete implementation, return the number of rows
return _testArray.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath) as UITableViewCell
cell.textLabel?.text = _testArray[indexPath.row]
return cell
}
继承基类的类的代码:
继承课程:
class ViewController:DemonTableTableViewController {
@IBOutlet var tabelDemo: UITableView!
let arrayTest:[String] = ["cat","fish","dog"]
var identifierCell = "test"
var newTable:BaseTableTableViewController {
return DemonTableTableViewController.init(array: arrayTest, identifier: identifierCell)
}
override func viewDidLoad() {
super.viewDidLoad()
}
我有2个错误: 1.在解开一个Optional值(testArray)
时,意外地发现了nil2.当我解决这个问题时,我得到黑屏,是的,我做了那个初始视图控制器