NSMutableArray 的copy问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
}
以上是关于NSMutableArray 的copy问题的主要内容,如果未能解决你的问题,请参考以下文章
这个写法会出什么问题: @property (copy) NSMutableArray *array;
通过 UITableView 从 NSMutableArray 中删除项目
iOS内存管理--NSArray与NSMutableArray用copy修饰还是strong