在UITableViewController子类中未调用tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath)

时间:2019-08-29 08:35:58

标签: ios swift uitableview

numberOfSection中的

numberOfRowsInSectionUITableViewController被调用,而cellForRow没有被调用。可能是什么原因 ?以下是tableViewController的代码。

class GlobalSearchTableViewController: UITableViewController {

/// MARK: Properties

/// Delegate
weak var delegate: GlobalSearchTableViewControllerDelegate?

private var state = GlobalSearchTableState(searchResults: [])

override func viewDidLoad() {
    super.viewDidLoad()

    tableView.estimatedSectionFooterHeight = 60
    tableView.sectionFooterHeight = UITableView.automaticDimension

    tableView.estimatedRowHeight = 60
    tableView.rowHeight = UITableView.automaticDimension
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
}

override func numberOfSections(in tableView: UITableView) -> Int {
    return 2
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 10
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    return UITableViewCell()
}

 extension GlobalSearchTableViewController: GlobalSearchTablePresenter {

func present(state: GlobalSearchTableState) {
      tableView.reloadData()

 }

2 个答案:

答案 0 :(得分:1)

尝试返回单元格

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

 var cell : UITableViewCell!
        cell = tableView.dequeueReusableCell(withIdentifier: "cell")

        cell.textLabel?.text = dataArray[indexPath.row]

        return cell
}

答案 1 :(得分:0)

尝试添加 tableView.delegate = self tableView.dataSource = self