私は指定されたインデックスパスで行を削除して再ロードすることに取り組みましたが、挿入はしませんでした。ここで私が何をしようとしていますものです: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)、プラスまたはマイナス の数と等しくなければなりませんそのセクションから挿入または削除された行(insert 0が削除されています)、そのセクション(0が移動され、0が移動された)の内外に移動された行の数がプラスまたはマイナスになります。
1つのアイテムしか挿入しようとしていませんが、実際には22個挿入しています。私のデータソースは正しく更新されています。
'newIndexPaths'の内容を確認してください。そこには22個の異なるインデックスパスがありますか、または1回のインデックスパスは22回ありますか? – Paulw11