2012-05-04 42 views
0

我有一個問題,在應對一個對象

我創建了一個模型類和我在哪裏需要它的對象。 當然,我需要它的一個副本出於某種原因IOS:如何複製一個用戶自定義模型類到另一個對象的它的類型

,所以我通過以下方式

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

我想我需要重寫的複製方法和賦值操作符使用。

請提供一個解決方案,這,我在等待快速響應

回答

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]; 
+0

有分配內存羅傑 –

相關問題