Naz*_*san 5 uitableview ios swift
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“更新无效:部分数量无效。” 更新后表视图中包含的节数 (3) 必须等于更新前表视图中包含的节数 (3),加上或减去插入或删除的节数(1 个插入,0 个已删除)。
但我根据我错过的数据源插入 1 并删除 1
self.states?.append(sortedStates) //Update state property
if (self.states?.count)! > 3 {
self.states?.removeFirst()
}
self.newsFeedTableView.beginUpdates()
self.newsFeedTableView.insertSections([(self.states?.count)! - 1], with: .none)
if (self.states?.count)! > 3 {
let statesForoldestStateTime = self.states?.first
self.newestStateTime = statesForoldestStateTime?.first?.createdAt
let indexpostion = (self.states?.count)! - 3
self.newsFeedTableView.deleteSections([indexpostion], with: UITableViewRowAnimation.none)
}
self.newsFeedTableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)
错误说明了一切。什么时候if (self.states?.count)! > 3 是假的。唯一的部分将被插入并且不会被删除。您应该相应地更新您的数据源。方法必须返回节数someArray.count。当您插入某个部分时,请确保更新某个数组,当您删除某个部分时,请从某个数组中删除该元素。这将解决问题。
| 归档时间: |
|
| 查看次数: |
13732 次 |
| 最近记录: |