我試圖使用Apple Table View Programming Guide中所述的標準編輯控件樣式來實現標準的UITableViewCell刪除。當下面的代碼執行在commitEditingStyle方法爲什麼UITableView行被刪除時發生錯誤?
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
我得到以下錯誤消息
終止應用程序由於未捕獲的異常「NSInternalInconsistencyException」,原因:「無效更新:在第2行的無效數。在更新(1)之後,現有節中包含的行數必須等於更新前(1)節中包含的行數,加上或減去從該節插入或刪除的行數(0插入,1刪除)。
沒有什麼錯的空白部分。 Tom Irving指出的問題是單獨更新數據模型以適應已刪除的項目。 – jbat100
處理刪除最後一行的乾淨正確的方法是刪除該部分。我的回答是對OP最完整和有幫助的。這裏有很多很好的例子,包括我自己開發的經驗。這裏是一個StackOverflow演示一個案例(18 upvotes): http://stackoverflow.com/a/1265050/230571 –
無論你想保留空白部分或完全刪除部分是一個偏好問題。如果這是必需的(無論是由開發人員或客戶),那麼這就是你如何做到這一點,我不在乎多少上漲。 – jbat100