如何使用Firebase作为后端使用适当的分页技术刷新UIVIewController?

时间:2017-07-13 15:22:49

标签: ios swift firebase

请帮帮我。我创建了一个类似于Instagram的应用程序,Firebase作为后端。 Homefeed来自用户及其所关注的所有用户的帖子是 UIViewController 。启动应用时,会执行 fetchPosts() 方法。 fetchPosts() -method使用所有post-object填充posts-array。完成此过程后,我调用collectionView.reloadData执行collectionView方法,如 cellForItemAt 等。并显示帖子。如果有一些新帖子,用户可以通过向下拖动来刷新ViewController并显示refreshControl。当refreshControl出现时我删除了posts数组并调用了fetchPosts() - 方法。问题是它有时会起作用,有时我会收到以下错误:Thread1:EXC_BAD_Instruction ...致命错误:索引超出范围

我尝试用 if!self.refreshControl.isRefreshing 检查天气是否已完成。 cell.post = posts [indexPath.item]

但仍然收到了错误消息。我不知道如何解决该问题以及索引超出范围的原因。如何为我的问题添加分页技术。请帮助我,因为几周以来我一直坚持这个问题而且找不到任何解决方案。如果我的posts数组包含1000个帖子对象会怎么样?

  // Posts-Arry
     var posts = [Post]()

  // RefreshControl 
        let refreshControl = UIRefreshControl()
         refreshControl.
       addTarget(self, action: #selector(handleRefresh), for: .valueChanged) 


    func handleRefresh(){
    posts.removeAll()
    fetchPosts()
   }

     // Load post-data from Firebase database and 
      create the posts Object and fill the posts-Array

    func fetchPosts(){

     .....

       self.posts.append(post)
    self.collectionView?.reloadData()

    }

应用程序只是继续刷新,我在Xcode中收到错误消息

enter image description here

0 个答案:

没有答案