关于cell删除

1.以前写代码的时候,自己常常在cell中传入一个NSIndexPath来标识这个cell所在的IndexPath,例如如下


但是在删除cell的时候出现了bug崩溃


经过我的查看,当你删除某一个cell的时候,还在屏幕内的cell已经记录的数据是不会刷新的,也就是说cell.indexPath是不会刷新的. 那该怎么办呢?

在查资料之后

我决定这样做:


没错, 在删除的时候把整个cell传回来,在调用tableview自己的方法来获取indexPath这是绝对不会错了,接下来就好办了 哈哈...


2.还有关于有多个section的cell的删除

这个实际上在某个section的cell被删除完毕的时候,一定要同时把section本身删除这样就不会崩溃了...


- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

if (editingStyle == UITableViewCellEditingStyleDelete) {

NSMutableArray *a = _data[indexPath.section];

[a removeObjectAtIndex:indexPath.row];


if (a.count == 0) { // 要根据情况直接删除section或者仅仅删除row

[tableView deleteSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationFade];

} else {

[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];

}

}

}

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 8,035评论 3 38
  • 课程要点:plist文件的新建与读取给UITableView设置变化的值单元格的删除、插入及刷新 plist...
    shiwuoo阅读 2,038评论 0 6
  • #pragma mark someValueAboutTableView 1.tableView的样式:UITab...
    潇岩阅读 516评论 0 0
  • 一.进行重载数据的API 注意点:在操作这些方法的时候,记得要修改和保存数据来源,根据测试,该方法调用之后,会调用...
    讨厌下雨的鱼阅读 1,351评论 0 1
  • 自定义单元格 表格无论有多少中自定义单元格样式 每一种自定义单元格都有复用的能力所以每一个单元格都要带有一个静态局...
    DVWang阅读 106评论 0 0
  • 语法容易理解,操作方便,但是要想精通得稍微下点功夫。
    zhouqs666阅读 87评论 0 0
  • 提起我妈,贴在她身上的标签就是:重男轻女、唠叨(通病)、爱抱怨、光说不做。等等 重男轻女这个惹人讨厌满目可憎的家伙...
    雪山非猪阅读 80评论 0 0
  • 开业大吉一博聚, 闺蜜祝福情义亲。 葡萄美酒与君聚, 经营顺畅日斗金。
    快乐灵芝阅读 224评论 18 26
  • 记得初中毕业那会儿,班上同学都会在毕业赠言上写出这样一句话“愿有人陪你颠沛流离”,不知道他们写这句话时是否真正存了...
    向阳籽阅读 380评论 5 10