对于基本数据类型和基本对象类型的数据,深拷贝都是重新开辟一个内存空间去存储数据,浅拷贝都是拷贝了对象的内存地址
关于集合数据的深copy和浅copy
NSArray *deepCopyArray=[[NSArray alloc] initWithArray: array copyItems: YES];
集合数据的copy一般都是浅copy, 只是copy了指针内存地址而已,并没有在内存空间里面重新开辟一个内存空间去存储,所以这时候如果去改变数组,字典的数据就会在根部改变,
NSArray *deepCopyArray=[[NSArray alloc] initWithArray: array copyItems: YES];可以重新copy出一个新内存空间;避免浅copy
网友评论