我正在使用Swift 3.我想在文本字段中写下我的名字&当我按下按钮时,我希望我的名字出现在TableView列表中

时间:2017-03-28 17:41:11

标签: ios objective-c xcode swift3

我仍然是Swift的初学者...我正在使用XCode 8,Swift 3.0(单视图应用程序).​​.....我有一个UITableView,一个UITextField和一个UIButton。我想在UITextField中写下我的名字,当我点按UIButton时,我希望我的名字出现在UITableView的列表中。

以下是我写的代码......每当我写下我的姓名并按UIButton时,我的姓名都不会出现在UITableView上。

import UIKit

class ViewController: UIViewController , UITableViewDelegate , UITableViewDataSource  {

    var list = ["Dina", "Sam", "Stremmel"]

    @IBOutlet weak var TableView: UITableView!


    @IBOutlet weak var input: UITextField!


    @IBAction func Addname(_ sender: Any)

    {

        if (input.text != "")

        {
            list.append(input.text!)



            input.text = ""


        }

    }

    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int

    {
        return (list.count)

    }


    public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell


    {

        let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell")

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

        return (cell)


    }


     public func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)

    {
        if editingStyle == UITableViewCellEditingStyle.delete
        {
            list.remove(at: indexPath.row)
            tableView.reloadData()
        }


    }

    override func viewDidAppear(_ animated: Bool)
    {

        reloadInputViews()
    }

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


}

1 个答案:

答案 0 :(得分:1)

更改

@IBAction func Addname(_ sender: Any) {
    if (input.text != "") {
        list.append(input.text!)
        TableView.reloadData() // this line
        input.text = ""
    }
}