我有一个函数从Web服务,我的func下载数据和数据库中获取数据,当我调用self.tableView.reloadData()
时,我从数据库和刷新列表中获取对象,但方法reloadData()
没有打电话。
我也试过电话:self.tableViewItens.performSelector(onMainThread: #selector(UICollectionView.reloadData), with: nil, waitUntilDone: true)
另外,我尝试将self.tableViewItens.reloadData()
放在完成关闭之外,也不行。
UITabBarButton的行动:
@objc func refreshButton() {
Sync.syncData(tabela: "my_table", successBlock: { (n) in
print("Refreshed: \(n)")
DispatchQueue.main.async {
self.tableViewItens.reloadData()
}
}) { (err) in
print(err)
}
}
未调用的方法:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
print("cellForRowAt")
return UITableViewCell()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return listaDados.count
}
viewDidLoad中
override func viewDidLoad() {
self.alerta = Alerta()
self.rightButton = UIBarButtonItem(barButtonSystemItem: .refresh, target: self, action: #selector(refreshButton))
self.navigationItem.rightBarButtonItem = self.rightButton
self.title = titlePage!
self.tableViewItens.delegate = self
self.tableViewItens.dataSource = self
}
我没有放Sync.syncData()
的代码,因为这样做有效,只有不起作用的是表视图的reloadData()
。