标签:style ar io os 使用 sp on bs cti
浅拷贝和深拷贝
目录
对浅拷贝和深拷贝的理解
浅拷贝
不是深拷贝的拷贝都是浅拷贝
深拷贝
如果想使用copy则需要遵循NSCopying协议,如果是想使用mutableCopy则需要遵循NSMutableCopying协议
分别需要实现的方法
- (id)copyWithZone:(NSZone *)zone{ MyClass *myClass = [[self class] allocWithZone:zone] init]; 对新创建的对象进行copy/mutableCopy赋值; return myClass;}
- (id)mutableCopyWithZone:(NSZone *)zone{ MyClass *myClass = [[self class] allocWithZone:zone] init]; 对新创建的对象进行copy/mutableCopy赋值; return myClass;}
如果类里面又包含其他类对象,则需要对这些类对象的类实现NSCopying协议或者NSMutableCopying协议,如此类推
NSDictionary的深拷贝
标签:style ar io os 使用 sp on bs cti
原文地址:http://www.cnblogs.com/IOS-Developer/p/4173167.html