分离UITableViewDelegate和UITableViewDataSource导致无数据显示

时间:2016-05-28 07:36:53

标签: ios swift uitableview

由于UITableViewDelegate和UITableViewDataSource需要的所有方法,我的ViewController变得太大了,所以我将我的代码重构为另一个文件,但现在数据不再显示了......

这是我目前的实施:

在MyViewController.swift中

class SomeView: UIViewController {

  @IBOutlet weak var myTableView: UITableView!

  override func viewDidLoad() {
     super.viewDidLoad()
     myDataSourceClass(tableView: myTableView)
  }
}

在MyNewDataSourceClass.swift中

class myDataSourceClass: UITableViewDelegate, UITableViewDataSource {
  let stuff = [1, 2, 3]
  init(tableView: UITableView) {
        super.init()
        tableView.delegate = self
        tableView.dataSource = self
  }
  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell")
        cell?.textLabel?.text = "please show up"
        return cell!
  }
  func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.stuff.count
  }
}

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:-1)

//设置委托和数据源

后需要重新加载表
class SomeView: UIViewController {

  @IBOutlet weak var myTableView: UITableView!

 override func viewDidLoad() {
    super.viewDidLoad()
    myDataSourceClass(tableView: myTableView)
    myTableView.reloadData()
 }
}