如何修复Swift 4中的集合视图刷新错误

时间:2018-10-10 00:14:41

标签: swift

尝试刷新我的collectionView时出现错误,这很奇怪,因为最后一次运行正常,我运行了该应用程序。错误为“线程1:致命错误:索引超出范围”

func setupRefreshControl() {

    let refreshControl = UIRefreshControl()
    refreshControl.addTarget(self, action: #selector(handleRefresh), for: .valueChanged)
    collectionView?.refreshControl = refreshControl
}

@objc func handleUpdateFeed() {
    handleRefresh()
}

fileprivate func fetchallPosts() {
    fetchPostUserIds()
    fetchPosts()
}

@objc func handleRefresh() {
    print("Handling refresh..")
    posts.removeAll()
    fetchPostUserIds()
}

2 个答案:

答案 0 :(得分:0)

我认为您应该尝试在函数旁边重新加载Collection视图。

self.collectionview.reloadData()

答案 1 :(得分:0)

主要问题是刷新集合视图。因此,您可以尝试以下方法之一:

@objc func handleRefresh() 
{
  print("Handling refresh..")
  posts.removeAll()
  fetchPostUserIds()
  collectionView.reloadData()
}

OR

获得回复后,您可以在collectionView.reloadData()中使用fetchPostUserIds()