【发布时间】:2018-01-22 11:06:41
【问题描述】:
我正在构建一个 iOS 应用程序,并尝试在我的项目上实现下拉刷新控件。数据从 API 正确获取并显示在我的表上。但是当我下拉刷新时问题就出现了。会发生以下情况:
-
1234563 ,重叠...
如果我快速连续多次下拉,同样的问题会发生。
我相信这是因为 tableview.reloadData() 被快速连续多次调用。但是为什么默认单元格会在我的自定义单元格之上出列?以下是函数中处理下拉的部分代码:
@objc func refreshFunc(){
//let offset = scrollView.contentOffset.y
if myRefreshControl.isRefreshing{
readJson { (activities) in
self.activities = activities
self.tableView.reloadData()
self.myRefreshControl.endRefreshing()
}
}
}
任何帮助将不胜感激。提前致谢
更新:
把代码改成下面的代码好像可以消除错误,但问题是现在我需要往下拉两次才能让表格上的结果更新:
@objc func refreshFunc(){
readJson { (activities) in
self.activities = activities
}
self.tableView.reloadData()
self.myRefreshControl.endRefreshing()
}
请注意,在主线程上运行 reloadData 会得到相同的结果,我仍然需要下拉两次才能更新。
【问题讨论】:
-
调用主线程解决了吗?
-
不,没有,请在下面查看
标签: ios swift uitableview pull-to-refresh