【问题标题】:How do I reload data in my TableView如何在 TableView 中重新加载数据
【发布时间】:2017-03-09 21:29:31
【问题描述】:

我在 Stack 上看到了一些关于这个问题的答案,但其中很多都是 5 年前的,并且使用的是旧版本的 Swift。我想在每次用户点击保存时重新加载表中的数据,以便现在将附加事件添加到表中。但无论我做什么似乎都没有出现! 我尝试在我的保存功能中添加table.reloadData()。但我得到一个错误:

线程 1 错误,致命错误:在展开可选值时意外发现 nil。

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    @IBOutlet weak var txtTitle: UITextField!
    @IBOutlet weak var txtLocation: UITextField!
    @IBOutlet weak var txtDate: UITextField!
    @IBOutlet weak var txtTime: UITextField!

    var eventsArray = [Event]()

    @IBAction func btnSave() {
        let event = Event(tits: txtTitle.text!, locs: txtLocation.text!)

        eventsArray.append(event)
        table.reloadData()
        print(eventsArray)

    }

    @IBOutlet weak var table: UITableView!

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! CustomeCell

        cell.title.text = eventsArray[indexPath.row].title
        cell.location.text = eventsArray[indexPath.row].location

        return cell
    }
}

【问题讨论】:

  • 您在哪里尝试重新加载表?
  • 我在尝试 table.reloadData() 时不断收到错误
  • 显示您尝试过的代码并显示您遇到了哪些“错误”。
  • Edit 您的问题与您尝试过的内容和错误消息。
  • 我打赌@IBOutlet weak var table: UITableView!nil,因为您忘记在情节提要的表格视图中连接插座。

标签: ios swift uitableview reloaddata


【解决方案1】:

你是否在 viewDidLoad 上设置了 tableView 的委托?

table.delegate = self

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2019-09-09
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多