IOS:如何复制一个用户将模型类定义为其类型的另一个对象

时间:2012-05-04 09:28:37

标签: iphone ios object

我在处理对象

时遇到问题

我创建了一个Model Class并使用了Object我需要它。 当然,我需要一份原因

所以我按照以下方式使用

 Modeldata *copyOfDate=[[[Modeldata alloc]init ]autorelease];
 copyOfDate=[g_Data copy];//This Line Gives me a Exception .

我认为我需要覆盖复制方法和赋值运算符。

请为我提供解决方案,我正在等待快速回复

1 个答案:

答案 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];