iOS 两个NSMutableArray, 改变一个数组,另一个也跟着变。

iOS 两个NSMutableArray, 改变一个数组,另一个也跟着变。

问题描述:

创建TCGraphicDataModel(name、age、sex),两个NSMutableArray。
TCGraphicDataModel *satisfactionModel1 = [[TCGraphicDataModel alloc] init];
数个satisfactionModel1添加第一个数组。
TCGraphicDataModel *satisfactionModela = [[TCGraphicDataModel alloc] init];
重新创建4个satisfactionModela添加第二个数组。
条件是:第二个数组的四个元素与第一个数组前四个相同。
改变第二个数组一个元素。为什么第一个数组相对应的元素也跟着变?

简单模拟了一下你说的操作,没有模拟出来你的结果,可以看下源码吗
图片说明

把model copy一份在放入另一个数组中

这是源代码中两个数组: #import "TCGraphicDataTableViewCell.h" 文件创建数组。图片说明#import "TCMoreDataViewController.h”创建另一个数组,并将上一个数组传入这个文件中。图片说明改变传入数组中一个model的数据,相对应得数组数据也跟着改变。

改变model中的一个元素值,直接改变所有引用该model的实例元素值,引用的是同一个,可在后一个数组中创建model时进行copy。

oc中传的都是指针,地址用的同一个