在表视图中显示文本

时间:2015-02-28 02:16:48

标签: ios swift

我试图找出为什么此代码不会向表格中的单元格添加任何文本。我检查了按钮按下时阵列正在填充文本,但单元格中没有显示任何内容。

class ViewController: UIViewController, UITableViewDelegate {

    var names: [String] = []

    @IBOutlet var nameTextField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        NSUserDefaults.standardUserDefaults().setObject("Mbusi", forKey: "name")
        var name = NSUserDefaults.standardUserDefaults().objectForKey("name")! as String
        println(name)
        NSUserDefaults.standardUserDefaults().setObject(names, forKey: "Users")
        var users = NSUserDefaults.standardUserDefaults().objectForKey("Users")! as [String]


    }

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        self.view.endEditing(true)
    }

    @IBAction func addNameToList(sender: AnyObject) {

        var index = 0
        var namesText = nameTextField.text

        names.append(namesText)
        println(names)


        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let cell  = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")

            cell.textLabel?.text = names[indexPath.row]

            return cell

        }


    }

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


}

1 个答案:

答案 0 :(得分:2)

两件事:

你需要移动

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

addNameToList之外ViewController

其次,在将项目添加到tableView.reloadData()数组后,您需要致电names