我在UITableView
中将UIRefreshControl
与UIViewController
一起使用。当用户拉下UITableView
,UIRefreshControl
时,它可以正常工作。提取数据时发生问题。成功提取之后,我希望UIRefreshControl
停止动画并在表视图中重新加载数据。
问题是当我按如下所述进行操作时,动画会闪烁,跳动,上帝知道还有什么。
private func setupActions() {
mainView.refreshControl.addTarget(self, action: #selector(fetchSurveys), for: .valueChanged)
}
@objc private func fetchSurveys() {
viewModel.fetchSurveys(success: { [weak self] in
self?.mainView.configureEmptyTableView(isHidden: false)
self?.mainView.refreshControl.endRefreshing()
self?.mainView.tableView.reloadData()
}, failure: { [weak self] error in
self?.mainView.configureEmptyTableView(with: "Unable to fetch surveys. Please try again.", isHidden: true)
self?.mainView.refreshControl.endRefreshing()
})
}
我尝试了reloadData()和endRefreshing()的顺序的许多组合,但仍然无法正常工作。