我們通過reloadRowsAtIndexPaths進行更新某個或者某幾個Cell的時候梧宫,在tableView內部先刪除該Cell,再進行重新創(chuàng)建蛇尚,如果我們在更新Cell的時候如果該Cell是不存在的就會Crash芽唇,attempt to delete row 10 from section 0 which only contains 0 rows before the update(試圖刪除不存在的Cell)
[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
如何解決這個問題呢
1、通過使用reloadData進行完全重新加載取劫;
2匆笤、判斷該Cell是否存在,存在再進行reloadRowsAtIndexPaths,這樣就可以避免Crash
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
if (cell) {
[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}