如何在 TableView 中重新加载数据
Posted
技术标签:
【中文标题】如何在 TableView 中重新加载数据【英文标题】:How do I reload data in my 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
,因为您忘记在情节提要的表格视图中连接插座。
【参考方案1】:
你是否在 viewDidLoad 上设置了 tableView 的委托?
table.delegate = self
【讨论】:
以上是关于如何在 TableView 中重新加载数据的主要内容,如果未能解决你的问题,请参考以下文章
tableView.reloadData() 如何正确重新加载数据?
如何从其他类重新加载整个 tableview 控制器 [关闭]