2

adminNameの属性を持つカスタムクラスThing:NSManagedObjectがあります。

このThingクラスでcopyWithZone関数を作成しようとしていますが、アプリを実行すると、setAdminNameが存在しないと表示されます。

私が使用している実装ファイルでは

@dynamic adminName;


-(id) copyWithZone: (NSZone *) zone
{
Thing *regCopy = [[Thing allocWithZone: zone] init];
regCopy.attendeeNum = [self adminName];

return regCopy;
}

Core Dataを使用しているので、@dynamicを@synthesizeに変更できるとは思いません。

4

2 に答える 2

5

NSManagedObjectはNSCopyingプロトコルに準拠していません。同じデータで新しいレコードを作成する場合は、新しいオブジェクトを挿入し、最初のオブジェクトから2番目のオブジェクトに値を割り当てるだけです。

于 2012-08-15T18:49:54.077 に答える
4

元のThingを作成したのと同じ方法で、新しいThingを作成する必要があります。

Thing * regCopy = [NSEntityDescription insertNewObjectForEntityForName:@ "Thing" inManagedObjectContext:self.managedObjectContext]

于 2012-08-15T18:45:38.677 に答える