您的位置:首页 > 运维架构

NSMutableArray 的copy问题

2016-06-14 17:57 399 查看
最近遇到一个坑,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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: