iOS - 数组的深浅拷贝

浅拷贝是指针拷贝,深拷贝是内容拷贝。
copy拷贝出来的都是不可变对象;
mutableCopy拷贝出来的都是可变对象;

NSMutableArray用strong修饰,不是copy。
使用copy的话类型会变为NSArray,之后再使用到NSMutableArray的方法就会引起崩溃

NSArray用copy修饰,不是strong。
使用strong修饰的话就只是强引用,如果此时赋值了一个NSMutableArray,那么这个数组的类型就变为NSMutableArray了,可以调用NSMutableArray的方法,失去了不可变的意义。

NSArray的copy为浅拷贝,mutableCopy为深拷贝。
NSMutableArray的copy和mutableCopy都是深拷贝。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容