UITableView没有调用我的单元委托

时间:2014-10-31 12:58:27

标签: ios swift

我正在尝试填充我的表视图,但我的委托方法没有被调用。

我已将表格视图绑定到控制器。

enter image description here

我已经实现了协议和委托方法,如下所示。

class TrendsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet var listingTable: UITableView!

    var items: [String] = ["We", "Heart", "Swift"]

    override func viewDidLoad() {
        super.viewDidLoad()

        listingTable.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        println("Counting")
        return self.items.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        println("Setting a cell")

        var cell = self.listingTable.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
        cell.textLabel.text = self.items[indexPath.row]

        return cell
    }

当我渲染视图时,我得到以下输出。

Counting
Counting

这意味着计数至少有效,但为什么不调用单元格构造函数?我错过了什么?

1 个答案:

答案 0 :(得分:0)

UITableView的高度或宽度为0时,它永远不会调用tableView(_:cellForRowAtIndexPath:)委托方法。

您应该已经被Interface Builder警告过:

screenshot

点击它,然后解决问题。