我创建了一个类,它是 NSObject(nsme 作为 GroupClass)的子类。在那个类中,我创建了一个属于“id”的属性,比如
@property(nonatomic,retain)id myObj;
现在我站在我有一个可变数组的路上,该数组包含我的 GroupClass 的实例。所以我以类似的方式获得一份副本
GroupClass* objG=[array objectAtIndex:i];
现在我想要另一个 objG 的副本。我搜索了。我找到了 NSCopying 协议。所以我将 NSCopying 作为委托添加到 GroupClass 并添加了 copyWithZone 方法。这里是
-(id)copyWithZone:(NSZone *)zone
{
GroupClass *copy = [[[self class] allocWithZone: zone] init];
copy.myObj=[myObj copyWithZone: zone];
return copy;
}
在这里我需要深拷贝。但它总是在分配行后崩溃。请帮助我。谢谢。