私はコアデータを初めて使用します。誰かがフィードバックを提供したり、特定の要件を教えてくれたりするとうれしいです。
Entity A
{
property 1;
property 2;
property 3;
}
Entity B
{
property 1;
property 2;
property 3;
}
Entity C
{
EntityB ObjB; // pointing to Entity B
EntityA ObjA; // pointing to Entity A
property 1;
property 2;
property 3;
}
Entity D
{
EntityB ObjB; // pointing to Entity B
EntityA ObjA; // pointing to Entity A
property x;
property y;
property z;
}
新しく挿入されたオブジェクトは、さらにいくつかのプロパティとともにエンティティ C、エンティティ D に格納する必要があります。
メインコンテキストへの挿入を分離するために、以下のアプローチが使用されます
NSEntityDescription *entity = [NSEntityDescription entityForName:@"EntityB" inManagedObjectContext:self.managedObjectContext];
objB = [[EntityB alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];
objB と objA を EntityC に格納しているため、以下の EntityD メソッドが使用されます。
NSEntityDescription *entity = [NSEntityDescription entityForName:@"EntityC" inManagedObjectContext:self.managedObjectContext];
objC = [[EntityC alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];
objC.objB = objC;
NSEntityDescription *entity = [NSEntityDescription entityForName:@"EntityD" inManagedObjectContext:self.managedObjectContext];
objD = [[EntityD alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];
objD.objB = objB;
最後に、すべてのオブジェクトをメイン コンテキストに保存します。
[self.managedObjectContext insertObject:objB];
[self.managedObjectContext insertObject:objC];
[self.managedObjectContext insertObject:objD];
[self.managedObjectContext save:&error];
私はコアデータの経験があまりないので、情報を保存する方法が良いか、言及されたシナリオでデータを保存する別の方法があるかを知りたいです。
貴重な時間をありがとう。