总结:
[NSArray copy] 浅拷贝 还是那个对象
[NSArray mutableCopy] 深拷贝 得到NSMutableArray
[NSMutableArray copy] 深拷贝 得到 NSArray
[NSMutableArray mutableCopy] 深拷贝 得到 NSMutableArray
代码分析
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *str = @"ljp";
// 1.原来是一个可变数组
NSMutableArray *muArray = [NSMutableArray arrayWithObjects:str, nil];
// 2.深拷贝 得到的是一个NSArray
NSMutableArray *copyMutableArray = [muArray copy];
// 3.浅拷贝 得到的是一个 NSMutableArray
NSMutableArray *mutablCopyMutableArray = [muArray mutableCopy];
// [copyMutableArray addObject:@"ppp"];
// [mutablCopyMutableArray addObject:@"lll"];
// 4. 初始化一个 NSArray
NSArray *array = [[NSArray alloc] initWithObjects:@"yyyy", nil];
// 5. 浅拷贝 还是那个对象
NSArray *copyArray = [array copy];
// 6. 深拷贝 得到的是 NSMutaleArray
NSMutableArray *mutableCopyArray = [array mutableCopy];
[mutableCopyArray addObject:@"oooo"];
}
网友评论