Error:* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '* -[NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'

今天在项目工程中想往可变数组中添加从服务器获取的元素,我用了一下方法:

[self.bannerArr addObjects:dic];

尝试几种方法后还是报错:

 reason: '-[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'

打印 [self.dataArr class] 类型为 ___NSCFArray
查完资料总结原因如下:
因为这个变量之前被赋值了,而无法把一个可变的方法固执给一个不可变的对象。

最后解决办法:

 NSMutableArray *bannerArray = [[NSMutableArray alloc]init]; 
 [bannerArray addObjectsFromArray:self.bannerArr];
[bannerArray addObject:dic];
self.bannerArr = bannerArray;

记性差的还是做下记录为好

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,880评论 1 10
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,768评论 0 9
  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 2,021评论 0 3
  • 我到底是真的觉得你的处事方式有问题 还是说 我在嫉妒一些我没有的东西 很多次做事说话的方式并不相同 让我感觉三观并...
    异想布岛阅读 221评论 1 0
  • 不知道为什么总是对重庆小面持有一种执念,这次终于吃到了,二两小面在红油的覆盖下散发着麻辣浓香的味道,丰富的佐料...
    乱码姑娘阅读 287评论 0 2