我有一个消息收件箱页面,该页面以类似于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()
}
}
}
}
}