代码之家  ›  专栏  ›  技术社区  ›  memmons

iphones sdk:使用核心数据设置关系属性对象?

  •  0
  • memmons  · 技术社区  · 15 年前

    我正在我的应用程序中使用核心数据。我有两个相关的实体:entitya和entityb。EntityA与EntityB具有“relationship”类型的属性。此外,这两个实体都是定义的类(不是默认的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的“name”属性的正确方法是什么?

    1 回复  |  直到 15 年前
        1
  •  1
  •   gerry3    15 年前

    您还需要首先创建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";