我的项目仍在使用Swift 2.3,但尚未迁移到Swift 3。当我用下面的代码拉下表格视图时,我可以验证刷新的数据可以在调试区域中看到,但它不反映在表格视图上。我在IOS 9和IOS 10上都试过。UIRefreshControl不起作用
var refreshControl = UIRefreshControl()
if #available(iOS 10.0, *) {
TableView.refreshControl = refreshControl
} else {
TableView.addSubview(refreshControl)
}
refreshControl.addTarget(self, action: #selector(self.handleRefresh), forControlEvents: UIControlEvents.ValueChanged)
func handleRefresh(refreshControl: UIRefreshControl) {
refreshControl.beginRefreshing()
Search()
TableView.reloadData()
refreshControl.endRefreshing()
}
是您的搜索()函数异步?如果是这样,'reloadData()'方法可能在search()完成之前运行。如果是异步,尝试将'reloadData()'和'endRefreshing'调用移动到search(),并确保它们在搜索实际完成后运行。 –