在有添加或刪除tableview一行的時(shí)候,一般報(bào)這個(gè)錯(cuò)的原因都是,
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
這個(gè)方法之前沒有把相應(yīng)的數(shù)組元素刪除.
但是在這之前我明明刪除了
[self.caseArray removeObjectAtIndex:indexPath.row];
奇怪的是只有刪除最后一行的時(shí)候才崩潰報(bào)這個(gè)錯(cuò).
于是認(rèn)真翻譯了一下:
更新前后的行數(shù)必須要相等.更新后的行數(shù)是5.更新前的行數(shù)是1.
怎么刪除最后一行就變成了5行呢?終于明白了.我再numberOfRowsInSection里面寫了這些代碼
if (!self.caseArray || self.caseArray.count == 0) {
return 5;
}
return self.caseArray.count;
當(dāng)數(shù)組個(gè)數(shù)為0的時(shí)候,我讓行數(shù)返回了5.當(dāng)然錯(cuò)了.看來英語還是懂多點(diǎn)好.
轉(zhuǎn)載自(http://blog.csdn.net/u013921981/article/details/38976925#)