gpt4 book ai didi

ios - UIRefreshControl 不起作用

转载 作者:行者123 更新时间:2023-11-28 10:57:16 27 4
gpt4 key购买 nike

我的项目仍在使用 Swift 2.3,尚未迁移到 Swift 3。当我使用以下代码下拉 TableView 时,我可以验证在调试区域中可以看到刷新的数据,但它不会反射(reflect)在 TableView 上。我在 IOS 9 和 IOS 10 上都试过了。

 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()
}

最佳答案

tableView.reloadData() 移动到可以确定 search() 函数已完成并返回结果的位置。如果这是一个异步函数,则添加一个完成处理程序,以便您知道何时调用 reloadData()。然后你可以像这样调用函数:

search {
dispatch_async(dispatch_get_main_queue()) {
tableView.reloadData()
}
}

或者,当你使用 Swift 3 时

DispatchQueue.main.async {...}

关于ios - UIRefreshControl 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42565057/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com