数组存放同一个对象多次

无语,明知道这个坑,为了调试方便,结果又踩进去了

  1、  HistoryStateModel * cellModel1 = [[HistoryStateModel alloc] init];

    cellModel1.valueName = @"中航铁锂电池";

    cellModel1.flag = YES;

 

2、 NSMutableArray *tmpArr =[NSMutableArray arrayWithObjects:cellModel1,cellModel1,cellModel1, nil];

 3、  HistoryStateModel *tmpModel = tmpArr[2];

        tmpModel.flag = NO;

        [tmpArr replaceObjectAtIndex:i withObject:tmpModel];

4、HistoryStateModel *Model = tmpArr[0];

   NSLog(@"%d",Model.flag);

惊奇的发现居然是0,没有看错,在工程里就类似这个Demo,只不过是分成了好多层,好多地方,结果忘记了,一直纠结咋回事儿,什么bug,百思不得其解

突然发现居然数组里对象居然是同一个地址,马勒戈壁的,坑呀!

原文地址:https://www.cnblogs.com/shizhiliblog/p/8407027.html