快速表格视图在滚动到顶部时会加载更多内容

时间:2018-08-08 16:01:01

标签: swift uitableview

我有一个消息收件箱页面,该页面以类似于Facebook Messenger的格式显示消息,因为当您向上滚动时,表格中会填充更多消息。

我正在使用下面的代码尝试重新创建此代码,但是出现以下错误:

  

由于未捕获的异常“ NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:部分0中的行数无效。更新(400)后现有部分中包含的行数必须等于行数更新(200)之前包含在该部分中的行,加上或减去从该部分插入或删除的行数(已插入1,删除0),以及加上或减去移入或移出该部分的行数(移入0) ,0移出)。'

为什么会这样?

  func loadMore(count: Int){
        self.tableView.beginUpdates()
        DispatchQueue.global(qos: .background).async {
          let resultArray = serverCall.get(endPoint: "loadmore.php?", params: "token=\(self.defaults.string(forKey: "token")!)&readerToken=\(messageView.readerToken)&count=\(count)", fromViewController: messageView.viewc!)

            if(resultArray.count != 0){
                if let resultArray = resultArray[0]["messages"] as? [[String: Any]] {
                    var i = 0
                    while i < resultArray.count {
                        DispatchQueue.main.async {
                        self.message.insert(messageStruct(direction: "\(resultArray[i]["direction"]!)", messageText: "\(resultArray[i]["message"]!)", status: "\(resultArray[i]["status"]!)", image: "\(resultArray[i]["image"]!)"), at: 0)

                            self.tableView.insertRows(at: [IndexPath(row: 0, section: 0)], with: .automatic)

                        }
                        i = i + 1
                    }

                    DispatchQueue.main.async {

                        self.tableView.endUpdates()

                    }
               }
           }
       }

    }

0 个答案:

没有答案