我在我的应用中使用核心数据。我有两个相关的实体: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的“name”属性的正确方法是什么?
答案 0 :(得分: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";