我在刪除一行時遇到崩潰。當更新UITableView時出現新單元丟失單元格丟失
// Updating my data model
....
// apply the updates
self.tableView.beginUpdates()
self.tableView.deleteRows(at: indexPathsToDelete, with: .automatic)
self.tableView.endUpdates()
步驟來重現 - 添加行 - 刪除行,特別是確保有當前屏幕之外的一些行(然後,將在屏幕上時,刪除成功 - 重複,直到發生崩潰
它並不總是發生,所以我最好的猜測是,當它試圖加載細胞得到回收
這是在10.0模擬器和Xcode 8.0
它只會發生對於cellForRowAtif isMultipe{
let cell = tableView.dequeueReusableCell(withIdentifier: DetailsTableViewCell.defaultIdentifier, for: indexPath) as! DetailsTableViewCell
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: DetailsMultipleTableViewCell.defaultIdentifier, for: indexPath) as! DetailsMultipleTableViewCell
return cell
}
相同的錯誤
*** Assertion failure in -[UITableView _updateWithItems:updateSupport:],
/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3599.6/UITableView.m:3149
Missing cell for newly visible row 2
(null)
代碼這裏報告:https://forums.developer.apple.com/thread/49676
您如何讓您的細胞出院?你可以在'cellForRow ...'中顯示你的代碼嗎? –
@Hoa問題已更新 – iOSGeek
因此,您將.xib註冊到單元類並在需要時將其解除出隊。 iOS10可能存在問題,但嘗試檢查您的單元格是否爲「無」或不在「dequeueReusableCell」行之後。 –