iOS NSArray NSMutableArray mutableCopy copy

总结:

[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"];
}

推荐阅读更多精彩内容