关于向可变数组中插入另外数组的问题。

今天准备向一个可变数组中添加另外一个数组。

代码如下:

            /*
             NSMutableArray *getTaskArry;//主要数据
             NSArray *array;//获得数据
             */
            NSLog(@"%@",[_getTaskArry class]);
            [_getTaskArry addObjectsFromArray:array];

如上面所示:在添加数组的时候报错  

NSmutableArray报了-[__NSArrayI addObjectsFromArray:]: unrecognized selector的错误这种

后来找了半天。看见网上说是初始化的错误。原因和解决方法如下:

原因:可以先看下我们这里的_getTaskArry是不是可变数组。用.class打印出来。

结果: NSArray是_NSArrayI

NsmutableArray是_NSArrayM

_NSArrayI其实也就是不可变数组。即NSArray

相对的_NSArrayM也就是可变数组。即NSMutableArray

解决方法:

在对应可变数组的地方进行初始化 :

        _getTaskArry = [NSMutableArray arrayWithArray:(NSMutableArray *)[getTask objectArrayWithKeyValuesArray:dicArry]];

即图中的 NSMutableArray arrayWithArray:...

原文地址:https://www.cnblogs.com/wmx-rj/p/5221050.html