我的类实现NSCopying的方式如下:
@implementation MyClass
- (id) copyWithZone: (NSZone *) zone {
MyClass *copy = [[MyClass allocWithZone: zone] init];
// Copy instance variables
return copy;
}
@end这意味着副本被分配到所需的内存区。如果对象包含也需要复制的实例变量,例如可变数组,我是否应该使用它们的copyWithZone:消息并传递zone,而不只是调用copy
此外,如果有我想要直接实例化而不是复制对象的实例变量,是否必须使用allocWithZone:类方法来分配这些变量?
发布于 2012-08-16 04:30:43
Zone已经过时了--没有什么特别的事情要做。如果你也复制你的ivar,你可以安全地忽略它,只需在它们上调用copy。
https://stackoverflow.com/questions/11976730
复制相似问题