OC中的深拷贝和浅拷贝
2017-11-17 本文已影响11人
乐乐的熊
1.retain:始终是浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。
2.copy:对于可变对象为深复制,引用计数不改变;对于不可变对象是浅复制, 引用计数每次加一。始终返回一个不可变对象。
3.mutableCopy:始终是深复制,引用计数不改变。始终返回一个可变对象。
即:retain的复制会将该地址和内容都复制过来;而copy和mutableCopy只是复制内容而已。
1.retain:始终是浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。
2.copy:对于可变对象为深复制,引用计数不改变;对于不可变对象是浅复制, 引用计数每次加一。始终返回一个不可变对象。
3.mutableCopy:始终是深复制,引用计数不改变。始终返回一个可变对象。
即:retain的复制会将该地址和内容都复制过来;而copy和mutableCopy只是复制内容而已。