iOS 二维数组的删除

tableView中多行多列中的数据删除。
今天在做一个二维数组的删除的时候犯了一个错,下面通过代码来看看。

// 错误代码
[self.dataArr removeObject:obj];
[self.dataArr removeObjectAtIndex:0];
[self.dataArr removeObject:self.dataArr[0][0]];
首先拿到一个数组我们要删除数据,首先想到的肯定是这个。
我也根据这个去删除,通过打印数组中每个数组的个数。发现并没有减少。最后是通过打印数组元素的类名来知道了怎么个回事。

我们二维数组中包含的是一个个数组,如果用上面的第一三个方法删除,那么他是永远都不会找到这个obj 所以不会删除。那么用第二个方法,他会删除掉二维数组中第0个数组。所以还是没有删掉想要删除的。

// 正确代码
NSMutableArray * tempArr = [[NSMutableArray alloc] init];
tempArr = [self.dataArr[section] mutableCopy];
[tempArr removeObjectAtIndex:row];
[self.dataArr replaceObjectAtIndex:section withObject:tempArr];

用一个空数组对copy 你想要删除的对象所在二维数组中的数组。
在这个数组中删除掉你想要删除的那个对象,
此时再将这个操作后的数组替换掉你想要删除的对象所在二维数组中的数组。OK。完美。

不知道有没有小伙伴遇到和我一样的问题。
---来自涛胖子的工作笔记

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 8,221评论 3 38
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 25,887评论 30 469
  • { 24、Sqlite数据库 1、存储大数据量,增删改查,常见管理系统:Oracle、MSSQLServer、DB...
    曹老师8428阅读 560评论 0 1
  • 第7篇文章 上午依约来到房产中介,买方是个奶奶级的中年妇女,舟山籍贯。 给儿子在同小区里买了套房子,目前正在给儿子...
    無所味阅读 533评论 5 48
  • 抑郁来了,现在还是毫无睡意,朋友让我去看心理医生,可是我害怕,我不知道该怎么办,也想就让它这样吧
    九月是我_阅读 86评论 0 0
  • 奇门遁甲预测术素来就有“帝王之学”的美誉,历代研易者多数公认奇门遁甲为术数之最,高层预测学。 我研究奇门遁甲十数载...
    阴山派天承阅读 1,466评论 0 2
  • 在此世, 少思 不念 偶能遇; 离此世, 常念 偶忆 再不见。 在 就有念想 不在了 连念想也断了 , 空留一念 ...
    疒風zi阅读 142评论 0 0
  • 学习到底学什么?怎么学?通过这段时间的学习,感觉学习就得花时间、用功夫、吃得苦。如果没有时间的积累,没有反复的...
    袁澜月阅读 84评论 0 0