總結:
[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"];
}
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。