2.对集合类对象的copy操作
对immutableObject做copy操作
NSArray * array = [NSArray arrayWithObject:@"1"];
NSArray * copyArry = [array copy];
NSMutableArray * mutableCopyArray = [array mutableCopy];
NSLog(@"array:%p", array);
NSLog(@"copyArry:%p", copyArry);
NSLog(@"mutableCopyArray:%p", mutableCopyArray);
Log如下
2018-03-19 15:51:38.786167+0800 PropertyDesc[10283:759804] array:0x6000000094c0
2018-03-19 15:51:38.786278+0800 PropertyDesc[10283:759804] copyArray:0x6000000094c0
2018-03-19 15:51:38.786385+0800 PropertyDesc[10283:759804] mutableCopyArray:0x600000240030
可以看出array与copyArray的地址是一样的,而mutableCopyArray则不同。
对mutableObject做copy操作
NSMutableString * string = [NSMutableString stringWithFormat:@"1"];
NSMutableArray * array = [NSMutableArray arrayWithObject:string];
NSArray * copyArry = [array copy];
NSMutableArray * mutableCopyArray = [array mutableCopy];
NSLog(@"array:%p", array);
NSLog(@"copyArry:%p", copyArry);
NSLog(@"mutableCopyArray:%p", mutableCopyArray);
[array addObject:@"2"];
[string appendString:@"1"];
NSLog(@"array:%p - %@", array, array);
NSLog(@"copyArry:%p - %@", copyArry, copyArry);
NSLog(@"mutableCopArray:%p - %@", mutableCopyArray, mutableCopyArray);
Log如下










