0

我在我的应用程序中使用核心数据。我有两个相关的实体: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 为空。即使我在分配值后立即添加 NSLog() 语句,它也是空的。当 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 回答