为什么tableview委托没有工作?

时间:2015-03-22 18:52:50

标签: uitableview swift

我在单视图应用中有以下课程。在IB中,我已将数据源和datadelegate连接到tableview。有没有什么我做错了没有桌面代表开火?

小区标识符在IB中设置。

import UIKit

class ViewController: UITableViewController {

    let myarray = ["item 1", "item 2", "item 3", "item 4"]
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "test")
        cell.textLabel?.text = myarray[indexPath.item]
        return cell;
    }


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

}

IB中已有一个原型单元。

另外一件事,viewDidLoad()甚至没有开火。

1 个答案:

答案 0 :(得分:1)

您应该在cellForRowAtIndexPath中将单元格出列。在故事板中,如果还没有UITableViewCell,则将UITableViewCell添加到表中,您应该看到原型单元格。确保原型的标识符是" test"就像它在你的代码中一样。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("test") as UITableViewCell

    cell.textLabel?.text = self.myarray[indexPath.row]

    return cell
}