IOS中的表视图中的数据加载问题

时间:2017-10-18 09:33:05

标签: ios uitableview swift3

我的视图控制器中有一个表视图控制器。当我给它静态行数和行索引方法名称的单元格时,它在表格视图中对我没有任何显示。我还重新加载了表视图,但它没有显示我不知道为什么会这样,

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return messages.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = UITableViewCell (style: .subtitle, reuseIdentifier: "cellID")
    let message = messages[indexPath.row]
    cell.textLabel?.text = message.text

    return cell
}

3 个答案:

答案 0 :(得分:0)

重新检查是否已设置

tableView.delegate = self
tableView.datasource = self

还在cellForRowAtIndexpath上放置一个断点来检查代码是否在块中运行。

同样重新检查cellIdentifier(cellID)是否正确。

答案 1 :(得分:0)

class ViewController:UIViewController,UITableViewDataSource,UITableViewDelegate {

                //Getting the reference variables of storyboard
                @IBOutlet weak var tableView:UITableView!
                var messages = [String]()

                override func viewDidLoad() {
                    super.viewDidLoad()


                    //Add some packages
                    messages.append("Super")
                    messages.append("Free ")
                    messages.append("Miscellaneous")
                    messages.append("All ")

                    tableView.datasource = self
                    tableView.delegate = self


                }

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

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return messages.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = UITableViewCell (style: .subtitle, reuseIdentifier: "cellID")
        let message = messages[indexPath.row]
        cell.textLabel?.text = message.text

        return cell
    }
}

答案 2 :(得分:0)

使用它。这个对我有用

  class yourViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
        @IBOutlet weak var tableView:UITableView!

        override func viewDidLoad() {
            super.viewDidLoad()
            tableView.datasource = self
            tableView.delegate = self
        }
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return messages.count
        }

        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell=tableView.dequeueReusableCell(withIdentifier: "cellID",for : indexPath)


            let message = messages[indexPath.row]
            cell.textLabel?.text = message.text

            return (cell)

        }
    }