我的类实现NSCopying
如下:
@implementation MyClass
- (id) copyWithZone: (NSZone *) zone {
MyClass *copy = [[MyClass allocWithZone: zone] init];
// Copy instance variables
return copy;
}
@end
这意味着副本被分配在所需的内存区域中。如果对象包含需要复制的实例变量,例如可变数组,我应该使用它们的copyWithZone:
消息并传递zone
,而不是仅仅调用copy
?
此外,如果有我想直接实例化而不是复制对象的实例变量,我是否必须使用allocWithZone:
类方法来分配它们?