0

アプリでコアデータを使用しています。関連する2つのエンティティがあります:EntityAとEntityB。EntityAには、EntityBとの「関係」タイプのプロパティがあります。さらに、これらのエンティティは両方とも定義済みのクラスです(デフォルトのNSManagedObjectではありません)。次のように、データに新しいオブジェクトを挿入しています。

EntityA *newEntityA = [NSEntityDescription insertNewObjectForEntityForName:@"EntityA" inManagedObjectContext:self.managedObjectContext];

newEntityA.name = @"some name";
newEntityA.entityB.name = @"some other name";

問題は、entityB.nameがnullであるということです。値を割り当てた直後にNSLog()ステートメントを追加しても、nullになります。EntityBがEntityAのプロパティである場合、EntityBの「名前」プロパティを設定する適切な方法は何ですか?

4

1 に答える 1

1

最初に EntityB オブジェクトも作成する必要があります。

EntityA *newEntityA = [NSEntityDescription insertNewObjectForEntityForName:@"EntityA" inManagedObjectContext:self.managedObjectContext];

newEntityA.name = @"some name";

EntityB *newEntityB = [NSEntityDescription insertNewObjectForEntityForName:@"EntityB" inManagedObjectContext:self.managedObjectContext];

newEntityA.entityB = newEntityB;
newEntityA.entityB.name = @"some other name";
于 2010-03-13T05:40:21.163 に答える