我创建了一个Model Class并使用了Object我需要它。 当然,我需要一份原因
所以我按照以下方式使用
Modeldata *copyOfDate=[[[Modeldata alloc]init ]autorelease];
copyOfDate=[g_Data copy];//This Line Gives me a Exception .
我认为我需要覆盖复制方法和赋值运算符。
请为我提供解决方案,我正在等待快速回复
答案 0 :(得分:3)
您需要在模型类实现中覆盖copyWithZone
方法,如下所示。
@implementation Modeldata
-(id) copyWithZone: (NSZone *) zone
{
Modeldata *objModeldata = [[Modeldata allocWithZone:zone] init];
objModeldata.yourProperty = yourProperty;
objModeldata.yourProperty1 = yourProperty1; //All your properties
return objModeldata;
}
@end
现在,如果您执行以下操作
Modeldata *copyOfDate=[g_Data copy];
您不需要通过编写
来分配内存Modeldata *copyOfDate=[[[Modeldata alloc]init ]autorelease];