美文网首页
copy&MutableCopy

copy&MutableCopy

作者: again_onceagain | 来源:发表于2017-01-30 16:36 被阅读6次

    面试中很喜欢 问copy和MutableCopy,在这里总结下!!

    首先理解 copy 的含义,copy的初衷是,复制一份,产生一个副本,修改副本数据,不影响原来的数据.(副本和源数据互不影响).深复制(内容复制),要理解 strong 修饰的浅复制(引用复制).

    copy:只会产生不可变的副本对象(比如:NSString)

    mutableCopy:只会产生可变的副本对象(比如:NSMutableString)

    strong 修饰还是copy呢?

    这个没有绝对的 大牛开发 也是用strong,但是有一种情况还是得清楚....

    当有strong修饰NSString时,如果把一个可变的NSMutableString赋值给它,那么改变可变的NSMutableString,会影响到属性 这是我们不想看到的.(strong 是引用复制).

    对于 非集合的copy和MutableCopy,copy是引用复制,MutableCopy是深复制.

    对于 集合的copy和MutableCopy 都是深复制.谨记,他们都是单层深复制.即数组中的内容还是引用复制.

    相关文章

      网友评论

          本文标题:copy&MutableCopy

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