为什么我的简单tableview应用程序不起作用?

时间:2015-01-11 18:17:52

标签: ios swift

我为一个简单的tableview应用程序和textfield以及一个按钮创建了一个代码。 当我单击按钮时,它会添加到数组中,但不会在表视图中显示它。 我该怎么做才能看到它?

以下是代码:

import UIKit

class ViewController: UIViewController, UITableViewDelegate {
    @IBOutlet weak var textfieldd: UITextField!
    @IBOutlet var tasksTable:UITableView!
    var toDoList:[String] = []

    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.
    }

    func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {

        return toDoList.count

    }

    @IBAction func Add(sender: AnyObject) {

        toDoList.append(textfieldd.text)
        println(toDoList)
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {

        var cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")
        cell.textLabel?.text = toDoList[indexPath.row]
        return cell

    }

}

3 个答案:

答案 0 :(得分:1)

您已更新数据源(数组),但未更新实际显示(表格视图)。每当您想要更新表格视图时,都应该调用reloadData()函数:

tasksTable.reloadData()

答案 1 :(得分:0)

在将新元素添加到列表后,您需要重新加载TableView。

您可以使用reloadData方法执行此操作。

tasksTable.reloadData()

答案 2 :(得分:0)

您没有将UITableviewDataSource协议应用于您的类,只是代理。

添加它并将表的数据源设置为类?