0

オブジェクトの対処に問題があります

モデルクラスを作成し、必要な場所でオブジェクトを使用しました。確かに私はいくつかの理由のためにそれのコピーを必要としました

だから私は次のように使用します

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

コピーメソッドと代入演算子をオーバーライドする必要があると思います。

私にそれに対する解決策を提供してください、私はクイックレスポンスを待っています

4

1 に答える 1

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];
于 2012-05-04T09:46:22.840 に答える