标签:
深浅复制的的理解与区别
1.浅复制,仅仅是复制对象本身,并没有对所含的的对象进行复制,仅仅是对所含的对象进行Retain一下,引用计数加1
2.深复制,不仅仅对对对象本身进行复制,还对所含的对象进行复制,拷贝出一个副本。
NSMutableArray *array = [NSMutableArray arrayWithCapacity:2];
for (int i=0; i<2; i++) {
[array addObject:(以一个类为对象)类名 P];
}
[array copy];//则类对象不会被复制,仅仅是引用计数加1
一般的:Foundation 的都是浅复制
当对象是不可变(NSArray,NSString,NSDictionary)中的Foundation 中不可变的可复制对象
copy + 不可变源对象 = retain 其他的都相当与 copy
标签:
原文地址:http://www.cnblogs.com/meixian/p/5370990.html