表格视图未加载数据

时间:2017-07-06 02:36:21

标签: swift uitableview

我正在运行以下代码,并UITableView嵌套在UIViewController内。代码应使用nib来填充行,但由于某些原因,UITableView加载时不会显示任何内容。以下是与UIViewController相关联的具有嵌入式tableview的类。有谁知道为什么这可能没有加载?

我尝试过的代码:

import UIKit
import Firebase

class Today: UIViewController, UITableViewDelegate, UITableViewDataSource  {

    var anArray: [String] = ["a", "b", "c"]

    @IBOutlet weak var myTableView: UITableView!
    override func viewDidLoad() {

        let nib = UINib.init(nibName: "ScheduleCellTableViewCell", bundle: nil)

        self.myTableView.registerNib(nib, forCellReuseIdentifier: "cell")

        self.myTableView.reloadData() //<<<<<<<<<<<<< RELOADS TABLEVIEW

    }//viewDidLoad() ends here


    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        //return the count of the number of groups
        return anArray.count
    }


    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! ScheduleCellTableViewCell

        let val = indexPath.row

        cell.testLabel.text = anArray[val]

        return cell
    }

    public func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 160.0
    }
}

4 个答案:

答案 0 :(得分:3)

reloadData() {}} {} {}需要UITableView {/ 1}}。

viewDidLoad()的{​​{1}}中联系UITableView dataSource and delegate。如下所示,

enter image description here

答案 1 :(得分:1)

确保UITableview代表和datasource从[{1}}正确分配,如果没有,则将其分配到storyboard功能

viewDidLoad

答案 2 :(得分:0)

问题可能出在ScheduleCellTableViewCell,你没有将CellIdentifier设置为&#34; cell&#34;。

顺便说一句,我不认为self.myTableView.reloadData()需要viewDidLoad()

答案 3 :(得分:0)

//连接表格视图插座

@IBOutlet var tableView: UITableView!
override func viewDidLoad() {

    self.tableView.delegate = self
    self.tableView.datasource = self
    self.tableView.reloadData()

}