代码库> 其他> 深复制、浅复制、copy、mutableCopy
深复制、浅复制、copy、mutableCopy
关注
上传者:pro648 分类:其他(Others)
查看次数:865 下载次数:145
上传时间:2018-10-23 大小:51 B
复制集合时,该集合、集合内元素的可变性可能会受到影响。每种方法对任意深度集合中对象的可变性有稍微不同的影响。

源码:github.com/pro648/BasicDemos-iOS/tree/master/copy&mutableCopy

全文:github.com/pro648/tips/wiki/深复制、浅复制、copy、mutableCopy

1. copyWithZone:创建对象的最外层 surface level不可变,所有更深层次对象的可变性不变。
2. mutableCopyWithZone:创建对象的最外层 surface level可变,所有更深层次对象的可变性不变。
3. initWithArray: copyItems:第二个参数为NO,此时,所创建数组最外层可变性与初始化的可变性相同,所有更深层级对象可变性不变。
4. initWithArray: copyItems:第二个参数为YES,此时,所创建数组最外层可变性与初始化的可变性相同,下一层级是不可变的,所有更深层级对象可变性不变。
5. 归档、解档复制的集合,所有层级的可变性与原始对象相同。

源码地址:

详细介绍:
收藏
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0
提示
sina weixin mail 回到顶部