美文网首页iOS
iOS - 数组的深浅拷贝

iOS - 数组的深浅拷贝

作者: 神灬渐入嘉靜 | 来源:发表于2018-12-12 15:37 被阅读14次

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

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

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

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

相关文章

  • js的深浅拷贝

    js的深浅拷贝可以分为数组的深浅拷贝和对象的深浅拷贝 一、数组的深浅拷贝如果只是简单的将数组中的元素付给另外一个数...

  • iOS - 数组的深浅拷贝

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

  • iOS 深浅拷贝

    iOS深浅拷贝

  • JS文集的目录

    js基础心法 深浅拷贝(递归)深浅拷贝(首层浅拷贝) js 数据处理 数组对象查找的常见操作数组对象去重的常见操作...

  • 数组、深浅拷贝

    如何判断数组类型 typeof ❌对Array不起作用,会将结果判断为object,同理null instance...

  • 数组的深浅拷贝

    像上面直接赋值的方式就是浅拷贝,但很多时候这并不是我们想要的结果,其实我们想要的是a数组不变,不是吗? 方法1:s...

  • 深浅拷贝

    深浅拷贝针对的是 对象类型,如果是字符串的数组用[...arr],还是不会影响 要区分针对数组的深浅拷贝(默认情况...

  • iOS深浅拷贝

    授权转载,作者:西木柚子 OC对象的三种拷贝方式 OC的对象拷贝有如下三种方式,很多时候我们把深复制和完全复制混为...

  • iOS深浅拷贝

    简述深浅拷贝 我们实例化的对象存储在堆区,而指向对象的指针一般存储在栈区。我们需要知道这个前提。  实际上拷贝分为...

  • iOS深浅拷贝

    浅拷贝:复制一个指针,仍然指向已经存在的内存深拷贝:复制一个指针,并新申请一个内存 关于拷贝的引用计数:浅拷贝:a...

网友评论

    本文标题:iOS - 数组的深浅拷贝

    本文链接:https://www.haomeiwen.com/subject/pbqphqtx.html