NSMutableArray 的copy问题

最近遇到一个坑,copy来的数组有问题,所以就有了下面的实验;

最后得出:可变数组的copy 后 是两个数组,两块地址,但copy出来的数组是不可变数组,

不能做删除操作,如果要操作copy后的数组要用可变数组重新接受,

@property (nonatomic, copy) NSMutableArray *testArray;
@property (nonatomic, retain) NSMutableArray *modelArray;
@end

@implementation ViewController
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
 
}
- (void)dealloc
{
    
}
- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSString *string1 = @"123";
    NSString *string2 = @"23";
    NSString *string3 = @"3";
    self.modelArray = [NSMutableArray array];
    [self.modelArray addObject:string1];
    [self.modelArray addObject:string2];

    [self.modelArray addObject:string3];

   
    //self.testArray = [NSMutableArray array];
    self.testArray = _modelArray;
    NSLog(@"%@",_testArray);
    NSString *text = @"text";
    [_modelArray removeObjectAtIndex:0];
    NSLog(@"%@",_modelArray);
    NSLog(@"%@",_testArray);
    [self.modelArray addObject:text];
   
    NSMutableArray *array = [NSMutableArray arrayWithArray:_testArray];
    [array removeObjectAtIndex:0];
     NSLog(@"%@",_modelArray);
    
    
}

posted on 2016-06-14 17:57  追随我心01  阅读(413)  评论(0)    收藏  举报

导航