swift viewController继承子类UITableviewController(customiz)

时间:2016-10-26 21:12:20

标签: ios swift inheritance uitabbarcontroller swift3

我创建基类类型的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)

时,意外地发现了nil

2.当我解决这个问题时,我得到黑屏,是的,我做了那个初始视图控制器

0 个答案:

没有答案