浅拷贝:指针拷贝,不会生成新对象。
深拷贝:内容拷贝,会产生新对象。
注意:对象类型的浅拷贝,不会生成新对象,相当于引用计数+1。
copy的内部实现,相比于retain,多了一个copy操作。
- (void)setDog:(MJDog *)dog
{
if (_dog != dog) {
[_dog release];
_dog = [dog copy];
}
}
浅拷贝:指针拷贝,不会生成新对象。
深拷贝:内容拷贝,会产生新对象。
注意:对象类型的浅拷贝,不会生成新对象,相当于引用计数+1。
copy的内部实现,相比于retain,多了一个copy操作。
- (void)setDog:(MJDog *)dog
{
if (_dog != dog) {
[_dog release];
_dog = [dog copy];
}
}
本文标题:四十五、内存管理之(四)Copy
本文链接:https://www.haomeiwen.com/subject/jqleaqtx.html
网友评论