0
我已經在指定的索引路徑刪除和重新加載行,但從不插入。這就是我要做的:UITableView插入行無效更新
func reloadTableView(newIndexPaths: [IndexPath]) {
print(dataSource.numberOfItems()) // prints 44
print(newIndexPaths.count) // prints 22
tableView.beginUpdates()
tableView.insertRows(at: newIndexPaths, with: .none)
tableView.endUpdates() // Crashes before this line
}
這裏是我收到的崩潰:
終止應用程序由於未捕獲的異常 「NSInternalInconsistencyException」,理由是:「無效的更新:無效 (2)中的行數。在更新之後(44),包含在 現有節中的行數必須等於更新前(22)加上或減去 的那部分中包含的 行的數量插入或從該部分刪除的行(1插入 0已被刪除)並加上或減去移入或移出 該部分(移入0,移出0)的行數。
什麼是沒有意義的是,它告訴我,只有1項試圖插入,但實際上我實際上插入22.我的數據源被正確更新,所以爲什麼這不工作?
檢查'newIndexPaths'的內容 - 那裏有22個不同的索引路徑,還是有一個索引路徑22次? – Paulw11